[CUL_HM] Bewegungsmelder HM-SEC-MDIR : R-brightFilter setzen

2,962 views
Skip to first unread message

UliM

unread,
Dec 8, 2012, 3:54:10 AM12/8/12
to fhem-...@googlegroups.com
Hallo allerseits,
habe gerade einen HM-SEC-MDIR in Betrieb genommen. Funzt prima.

Es gibt die Möglichkeit, die trigger-Helligkeit am Gerät zu setzen:
"6.3.2 Anlernen unter Berücksichtigung einer Helligkeitschwelle
Soll eine bestimmte Helligkeitschwelle das Schaltkriterium für die Ausführung eines Schaltbefehls sein, so ist der Funk-Bewegungsmelder zuvor für mindestens 48 Minuten in der endgültigen Arbeitsposition zu platzieren, wobei insgesamt und fortlaufend die letzten 8 Helligkeitswerte (Messung alle 6 Minuten) in einem internen Speicher gespeichert werden und der niedrigste Helligkeitswert als Schaltkriterium herangezogen wird."

Der durch das Gerät eingestellte Wert erscheint offenbar im reading
R-brightFilter  7

Um jetzt nicht in 48-Minuten-Zyklen die richtige Helligkeitsschwelle ausprobieren zu müssen: Kann  man die Trigger-Helligkeit auch via FHEM setzen? Ggf per regSet?

Vielen Dank für eure tipps,
Gruß, Uli


Martin

unread,
Dec 9, 2012, 5:31:38 AM12/9/12
to fhem-...@googlegroups.com


Der durch das Gerät eingestellte Wert erscheint offenbar im reading
R-brightFilter  7

Um jetzt nicht in 48-Minuten-Zyklen die richtige Helligkeitsschwelle ausprobieren zu müssen: Kann  man die Trigger-Helligkeit auch via FHEM setzen? Ggf per regSet?


ja, kannst du.
Die implementierung der Register relaubt aktuell:
get <name> regList    # zeigt alle moeglichen 'dekodierten' register an. Fuer mdir sind dies alle, die ich gefunden habe, sollte also komplett sein
                                # hier findest du sowohl den Wertebereich alsauch eine (sehr) kleine Beschreibung
set <name> getConfig # auslesen der register aus dem device
                                 # einige Register werden direkt in den Readings angezeigt. das sind die welche ich fuer wichtiger hielt.
                                 # bei Anwendung auf ein "device" werden auch die Kanaele ausgelesen, bei Kanal nur der Kanal.
get <name> reg <regname>     # ausgabe des registerwerts z.B. fuer scripts und zur weiteren automatischen Verarbeitung
get <name> reg all     # Anzeige aller dekodierten Register des Kanal oder device.

Die Anzeige der Register in den Readings ist R-<regname>. Der "R-" prefix dient einmal zur sortierung und auch zur einfacheren identifizierung, dass es ein Register ist

somit kannst du den Wert einfach setzen mit
set <name> regSet <regname> <value>

Gruss
Martin


UliM

unread,
Dec 9, 2012, 6:01:20 AM12/9/12
to fhem-...@googlegroups.com
Hi Martin,
vielen Dank für die Erklärung, habe das Wiki aktualisiert - bitte sicherheitshalber korrekturlesen:
http://www.fhemwiki.de/wiki/HM-SEN-MDIR-SM_Au%C3%9Fen-Bewegungsmelder#Hinweise_zum_Betrieb_mit_FHEM

Bei mir zickt der mdir noch ein wenig.
Es wird zwar angezeigt, dass das minInterval 120 (Sekunden?) ist, de facto löst das Ding aber frühestens nach 4 Minuten wieder aus. Teste das gerade...

Gruß, Uli

UliM

unread,
Dec 9, 2012, 6:40:57 AM12/9/12
to fhem-...@googlegroups.com
Hi,
bin gerade auf foilgende Werte gekommen:
minInterval 0 -> 15s
minInterval 60 -> 120s (2 Minuten)
minInterval 120 -> 240s (4 Minuten)
minInterval 15 -> 30s
minInterval 20 -> 60s (1 Minute)

model HM-SEC-MDIR
firmware 1.0
devInfo 810100

Gruß, Uli

Martin

unread,
Dec 9, 2012, 5:08:47 PM12/9/12
to fhem-...@googlegroups.com
Hi,

ich habe hier ein Literal genommen. Also wenn du auf dem neusten Update bist solltest du sehen dass nur
0,15,20,60,120 zulaessig sind
Du solltest auch den
evtFltrNum
berücksichtigen - wie steht der den bei dir?
Ich denke, das du diesen multiplizieren musst

Gruss
Martin

Martin Thomas Schrott

unread,
Dec 10, 2012, 2:59:48 AM12/10/12
to fhem-...@googlegroups.com
Hallo!

also ich versuche gerade euren Beschreibungen zu folgen und habe mich gefragt was mein Bewegungsmelder für werte gesetzt hat.
Laut der Wiki Beschreibung hätte ich gemeint, ich würde das mittels:

get Bewegungsmelder_Haus_Nordseite reg all
erfahren?

das gibt bei mir leider nur folgendes aus:

list:peer    register         :value
0:          intKeyVisib      :set_invisib
0:          pairCentral      :set_0xxxxxxx


Wenn ich spezifisch den evtFltrNum auslesen möchte kommt nur eine Meldung, dass dieser nicht verfügbar ist:

Value not captured


Mach ich etwas falsch?

Bezüglich der Werte: Könntet ihr die Beschreibungen eventuell noch etwas Anfängertauglicher machen? Also z.B. anführen, dass man x mit y multiplizieren muss damit man den richtigen Wert in Sekunden bekommt, wie lange der Melder inaktiv sein muss, damit eine Bewegung gemeldet wird und so weiter.

u.a. was bedeutet der Wert für die LED? Wie lange diese an bleibt, wenn sie durch eine Bewegung eingeschaltet wird? ...

Liebe Grüße
Martin
--
To unsubscribe from this group, send email to
fhem-users+...@googlegroups.com

Martin

unread,
Dec 10, 2012, 5:53:50 AM12/10/12
to fhem-...@googlegroups.com, li...@mtsonline.at
Hallo Martin,

mit den 'get <name> xxx' befehlen wird IMMER nur aus den FHEM speicher gelesen. Dieser muss erst 'gefüllt' werden. Das einfachste ist ein getConfig  - also set <name> getConfig.
Dass dies erfolgreich war kann man sehen wenn protState eq CMDs_done.

Danach sollten die Werte gelesen werden koennen - als mit "get <name> reg all"

Falls es Probleme gibt, bitte einmal die registerliste posten - am einfachsten ein "list <name>" ausführen.

Die Bedeutung der Register und deren Handhabung ist nicht gut beschrieben. Meist habe ich nur name, wertebereich und einheit. Testen kann ich den mdir, da ich keinen habe. Das koenntest du es ja zusammenstellen (nachdem das lesen und schreiben der Register funktioniert)

Gruss
Martin

Martin Thomas Schrott

unread,
Dec 10, 2012, 6:24:54 AM12/10/12
to fhem-...@googlegroups.com
Hallo Martin!
Dass dies erfolgreich war kann man sehen wenn protState eq CMDs_done.
ähm, sorry, was bedeutet das?
;-)
Bitte noch anfängerisch mit mir sprechen, es sind meine ersten Tage
mit FHEM.
get protState? oder wie?
Falls es Probleme gibt, bitte einmal die registerliste posten - am
einfachsten ein
"list <name>" ausführen.
also bzw. list Bewegungsmelder_Haus_Nordseite ??
Oder get Bewegungsmelder_Haus_Nordseite regList ???
Die Bedeutung der Register und deren Handhabung ist nicht gut
beschrieben. Meist
habe ich nur name, wertebereich und einheit. Testen kann ich den mdir,
da ich keinen
habe. Das koenntest du es ja zusammenstellen (nachdem das lesen und
schreiben der
Register funktioniert)
Helfe hier gerne sobald ich verstehe was ich tue.
:-)
Liebe Grüße
Martin

UliM

unread,
Dec 10, 2012, 7:17:00 AM12/10/12
to fhem-...@googlegroups.com
Hi Martin,


Am Sonntag, 9. Dezember 2012 23:08:47 UTC+1 schrieb Martin:
Hi,
ich habe hier ein Literal genommen. Also wenn du auf dem neusten Update bist solltest du sehen dass nur
0,15,20,60,120 zulaessig sind
update check zeigt nicht 10_CUL_HM.pm -> sollte aktuell sein. Gültige Werte:
use:60,120,0,20,15

Diese ergeben jedoch die oben gelisteten Zeiten - habe ca eine halbe Stunde winkend vor dem mdir gesessen, um das auszutesten :)

 
Du solltest auch den
evtFltrNum
berücksichtigen - wie steht der den bei dir?
R-evtFltrNum = 1
 
Ich denke, das du diesen multiplizieren musst

Daran kann's offenbar nicht liegen...

Gruß, Uli

UliM

unread,
Dec 10, 2012, 7:23:10 AM12/10/12
to fhem-...@googlegroups.com, li...@mtsonline.at


Am Montag, 10. Dezember 2012 12:24:54 UTC+1 schrieb Martin Thomas Schrott:
  Bitte noch anfängerisch mit mir sprechen, es sind meine ersten Tage
mit FHEM.
get protState? oder wie?
Nee. Einmal alle Werte aus dem Gerät abholen:
set <device> getConfig  <ENTER>
dann am mdir kurz die Anlerntaste drücken, damit der Funkbefehl angenommen wird und die Werte an fhem gesendet werden.
Danach in fhem auf den Detailbildschirm des mdir gehen, dort findest Du ein Attribut namens "protState" - das muss auf "CMDs_done" stehen. Bedeutet, dass alle fhem-Kommandos an den mdir gesendet wurden (passiert eerst, wenn Du den Anlernbutton am mdir kurz drückst).

Falls es Probleme gibt, bitte einmal die registerliste posten - am
einfachsten ein
"list <name>" ausführen.
also bzw. list Bewegungsmelder_Haus_Nordseite ??
Ja. Ins fhem-Kommandofeld
 list Bewegungsmelder_Haus_Nordseite <ENTER>

Oder get Bewegungsmelder_Haus_Nordseite regList ???
Kannst Du auch machen, ist aber nicht das, was Martin meint.
 
Die Bedeutung der Register und deren Handhabung ist nicht gut
beschrieben. Meist
habe ich nur name, wertebereich und einheit. Testen kann ich den mdir,
da ich keinen
habe. Das koenntest du es ja zusammenstellen (nachdem das lesen und
schreiben der
Register funktioniert)
Helfe hier gerne sobald ich verstehe was ich tue.

Na denn mal los :)

Martin Thomas Schrott

unread,
Dec 10, 2012, 8:41:00 AM12/10/12
to fhem-...@googlegroups.com
Hallo zusammen,

danke für eure Tipps. Also getConfig hat schon mal geklappt. Alle Daten
sind jetzt verfügbar.

Was ich noch nicht geschafft habe ist das notify zum laufen zu bringen.
Sollte das so klappen?:
define mail_on_motion notify Bewegungsmelder.:motion:.on. {
GetHttpFile("tsy.at:80", "/index.cgi?go=fhem&warn=%NAME_%EVENT")}

Das müsste doch auf alle Bewegungsmelder zutreffen und die meldung unten
als Auslöser nehmen:

2012-12-10_14:23:06 Bewegungsmelder_Haus_Nordseite motion: on (to
ActionDetector)

Oder hab ich wieder was falsch verstanden? "." steht ja für nichts oder
alles somit glaube ich das mein regex korrekt ist. Hab eimmal mit und
einmal ohne . am Ende getestet (weil ja in Klammern noch das mit dem
actiondetector dort sthet).


Der Bewegungsmelder schreibt brav ins logfile, aber notify wird nicht
ausgelöst. Würde ja wohl auch irgendwo im log stehen oder?
Der eventmonitor ist immer leer, bzw. würde da irgendwas live kurz
angezeigt und wieder verschwinden?

Hier noch die liste der Register... (sollte man nicht den batteriestatus
noch in die angezeigten Werte übernehmen? Oder ist das der Fall, wenn
der Status nicht ok wäre?

2012-12-10 14:12:23 R-brightFilter 7
2012-12-10 14:12:23 R-captInInterval off
2012-12-10 14:12:23 R-evtFltrNum 1
2012-12-10 14:12:23 R-evtFltrPeriod 1 s
2012-12-10 14:12:23 R-ledOnTime 0 s
2012-12-10 14:12:23 R-minInterval 120
2012-12-10 14:12:25 RegL_00: 02:01 0A:AF 0B:FE 0C:17 00:00
2012-12-10 14:12:28 RegL_01: 01:12 02:74 08:00 22:00 00:00
2012-12-09 16:35:35 battery ok
2012-12-10 14:23:06 brightness 137
2012-12-09 16:35:35 cover closed
2012-12-10 14:23:06 motion on (to ActionDetector)
2012-12-10 14:23:06 motionCount 13_next:8
2012-12-10 14:12:24 peerList
2012-12-10 14:23:06 state motion
Helper:
addVal 0
burstEvtCnt 1
mId 005D
rxType 12
Respwait:
Shadowreg:
Attributes:
actCycle 000:10
actStatus alive
devInfo 110100
firmware 1.5
hmClass sender
model HM-Sen-MDIR-O
peerIDs
peerList cleared
protLastRcv 2012-12-10 14:33:57
protSndCnt 12
protSndLast 2012-12-10 14:12:27
protState CMDs_done_events:1
protToutRespCnt 1
protToutRespLast 2012-12-10 14:12:27
room CUL_HM
serialNr JEQ012xxx
subType motionDetector


cheers
Martin

Rudolf Koenig

unread,
Dec 10, 2012, 8:44:39 AM12/10/12
to fhem-...@googlegroups.com
>"." steht ja f�r nichts oder alles

Das ist so nicht richtig.

UliM

unread,
Dec 10, 2012, 8:49:19 AM12/10/12
to fhem-...@googlegroups.com, li...@mtsonline.at


Am Montag, 10. Dezember 2012 14:41:00 UTC+1 schrieb Martin Thomas Schrott:
 "." steht ja für nichts oder
alles
Nein.
"." steht für "genau ein beliebiges Zeichen"
".*" steht für "ein beliebiges Zeichen, davon null oder beliebieg viele"
".+" steht für "ein  beliebiges Zeichen, davon mindestens eins oder beliebieg viele".
Wenn Du den Begriff "regexp" schon gefunden hast, hättest Du das dioch über google "perl regexp" finden können?


Der Bewegungsmelder schreibt brav ins logfile, aber notify wird nicht
ausgelöst. Würde ja wohl auch irgendwo im log stehen oder?
Nö.  Nur, wenn Du da ein "Log 1, "Mein Testtext" einbaust.

 
Der eventmonitor ist immer leer, bzw. würde da irgendwas live kurz
angezeigt und wieder verschwinden?
Hoffentlich nicht.
Alternativ kannst Du auch über telnet 7072 schauen, dort einmal "inform timer" eingeben. 

Gruß, Uli

Martin Thomas Schrott

unread,
Dec 10, 2012, 8:49:17 AM12/10/12
to fhem-...@googlegroups.com
Okay was ist dann richtig?

du hast vorgeschlagen ich sollte einen . einfügen. Für was steht der in
dem Fall in fhem?

in perl würde es ja eine oder keine wiederholung des vorstehenden
Zeichens bedeuten.

Also müsste ich wenn es nach perl geht folgendes schreiben:

Bewegungsmelder*.:motion:*.on*.

aber das wird es wohl auch nicht sein, wenn das so nie als Beispiel
angeführt wird oder?

Was macht also:
Bewegungsmelder.:motion:.on.
??

Wie kann ich denn das richtig simulieren?
trigger mail_on_motion?

lG
Martin


Am 10.12.2012 14:44, schrieb Rudolf Koenig:
>> "." steht ja für nichts oder alles

Martin Thomas Schrott

unread,
Dec 10, 2012, 8:57:39 AM12/10/12
to fhem-...@googlegroups.com
Danke Uli,

ja sag ich doch . steht für nichts oder alles. Bitte nicht i-Tüpferl reiten!
ich meinte ja ein Leerzeichen, oder sonstige Zeichen....
Okay, hinten wohl noch nen * dazu weil dort ja mehrere Zeichen stehen sollten.

Hab übrigens nicht gegooglet, ich arbeite jeden tag mit regulären Ausdrücken, aber ich war mir nicht im Klaren, dass an dieser Stelle normale perl regex funktionieren. :-)

Außerdem hab ich *. und .* noch vertauscht. ups.tja, ich drehs mal schnell um und schau ob es dann geht.

p.s. arbeite mit einem Screenreader und der hat mir die * Zeichen überhaupt zuerst mal verschluckt, also nicht wundern, wenn meine Antwort zu Rudi nicht ganz gepasst hat... Ich hab keine Sterne gesehen.

lG
Martin

Martin Thomas Schrott

unread,
Dec 10, 2012, 9:00:23 AM12/10/12
to fhem-...@googlegroups.com
Nachtrag: Rudi hat ja auch keine * gemacht, also war ich garnicht falsch ... :-)

Martin Thomas Schrott

unread,
Dec 10, 2012, 9:28:41 AM12/10/12
to fhem-...@googlegroups.com
Hallo nochmal,

ich bekomms einfach nicht hin.

hab nun mit inform timer via telnet beobachtet. Melder löst aus, aber
notifiy tut garnichts.

bedeutet das, dass mein regulärer Ausdruck immer noch nicht passt?
Aktuell hab ich diesen getestet:

define mail_on_motion notify Bewegungsmelder.*:motion:.on.* {
GetHttpFile("tsy.at:80", "/index.cgi?go=fhem&warn=%NAME_%EVENT")}

Der Melder hat den Namen: Bwegungsmelder_Haus_Nordseite
Und gibt die Meldung: motion: on (to ActionDetector)

Das müsste doch passen?

Mir ist übrigens gerade noch eine Fehlermeldung beim Starten von FHEM
aufgefallen, ich denke diese ist auch neu, wäre mir bisher nicht
aufgefallen. Wüsste aber nicht, dass ich irgendetwas verändert hätte...

Starting fhem...
mx:/home/mts# Use of uninitialized value in subtraction (-) at
./FHEM/00_HMLAN.pm line 378, <$fh> line 47.
Use of uninitialized value in subtraction (-) at ./FHEM/00_HMLAN.pm line
378, <$fh> line 47.

Danke für eure Geduld,

martin

Martin Thomas Schrott

unread,
Dec 10, 2012, 9:39:48 AM12/10/12
to fhem-...@googlegroups.com
Und während dem beobachten im telnet kam gerade noch das:

...die üblichen Bewegungsmelder meldungen ...action: alive
Use of uninitialized value in sprintf at fhem.pl line 1412.
...weitere normale Meldungen...

Es sei angemerkt, dass ich außer den define mail_on_motion und den get /
set Befehlen für den Melder nichts eingegeben oder geändert habe! :-)

lG
Martin

UliM

unread,
Dec 10, 2012, 9:42:01 AM12/10/12
to fhem-...@googlegroups.com, li...@mtsonline.at


Am Montag, 10. Dezember 2012 15:28:41 UTC+1 schrieb Martin Thomas Schrott:

define mail_on_motion notify Bewegungsmelder.*:motion:.on.* {
GetHttpFile("tsy.at:80", "/index.cgi?go=fhem&warn=%NAME_%EVENT")}

 
Wenn ich an meinem mdir vorbeilaufe sendet der
2012-12-10 15:37:51.397 CUL_HM ko_Bewegungsm_HM motion
2012-12-10 15:37:51.397 CUL_HM ko_Bewegungsm_HM motion: on (to ActionDetector)
2012-12-10 15:37:51.397 CUL_HM ko_Bewegungsm_HM motionCount: 82_next:7


define mail_on_motion notify Bewegungsmelder:motion
sollte also gehen.

Bei mir funktioniert
define test3 notify ko_Bewegungsm_HM:motion {Log 1, "Test motion"}

=8-)

Martin

unread,
Dec 10, 2012, 10:00:04 AM12/10/12
to fhem-...@googlegroups.com, li...@mtsonline.at

2012-12-10 15:37:51.397 CUL_HM ko_Bewegungsm_HM motion: on (to ActionDetector)
Anmerkung 
da muss ich noch etwas machen. War eine schlechte Entscheidung dem ActionDetector die HMID "000000" zu geben.  Wenn ich es aendere wird es update-probleme geben. Dann muss man von hand eingreifen... mal nachdenken

Martin Thomas Schrott

unread,
Dec 10, 2012, 10:00:53 AM12/10/12
to fhem-...@googlegroups.com
Hi Uli,

danke, Bewegungsmelder:motion klappt! also genau genommen
define mail_on_motion notify Bewegungsmelder.*:motion {
GetHttpFile("tsy.at:80", "/index.cgi?go=fhem&warn=%NAME_%EVENT")}

nachdem heute schon eine andere Mail in der Liste zu diesem Problem kam,
ist vielleicht doch in fhem irgendwo ein Fehler, der keine meldungen
zulässt, die einen ":" enthalten? Oder warum klappt eine Abfrage nicht
mit ":.on.*" am Ende?

Also Meldungen wie: name:meldung: wert
Bewegunsmeldername:motion: on (to Actiondetector)



Was jetzt noch offen wäre sind die Fehlermeldungen die ich entdeckt habe...
Ich bekomm folgende Fehler ...

beim starten von fhem:

Mir ist übrigens gerade noch eine Fehlermeldung beim Starten von FHEM
aufgefallen,
ich denke diese ist auch neu, wäre mir bisher nicht aufgefallen. Wüsste
aber nicht,
dass ich irgendetwas verändert hätte...
Starting fhem...
mx:/home/mts# Use of uninitialized value in subtraction (-) at
./FHEM/00_HMLAN.pm
line 378, <$fh> line 47.
Use of uninitialized value in subtraction (-) at ./FHEM/00_HMLAN.pm line
378, <$fh>
line 47.


Und während dem beobachten im telnet kam gerade noch das:
> (neue Zusatzinfo) Die Meldung kommt, wenn man
list name

im FHEM WEB aufruft. Also zumindest wenn ich meinen Bewegungsmelder
abfrage. Hab leider noch kein weiteres Gerät zum Testen, also kann ich
nicht sagen, ob es bei allen kommen würde.


> ...die üblichen Bewegungsmelder meldungen ...action: alive
> Use of uninitialized value in sprintf at fhem.pl line 1412.
> ...weitere normale Meldungen...
>
> lG
> Martin
>

Martin Thomas Schrott

unread,
Dec 10, 2012, 3:14:01 PM12/10/12
to fhem-...@googlegroups.com
Hi nochmal,

nur damit die Meldungen auch nicht untergehen, könnte ja sein, dass sie
doch behebenswert sind, auch wenn alles einwandfrei zu laufen scheint.
Hätte aber doch lieber keine Fehler im System ;-)
nachdem heute schon eine andere Mail in der Liste zu diesem Problem kam,
ist vielleicht doch in fhem irgendwo ein Fehler, der keine meldungen
zulässt, die einen ":" enthalten? Oder warum klappt eine Abfrage nicht
mit ":.on.*" am Ende?
>
> Also Meldungen wie: name:meldung: wert
> Bewegunsmeldername:motion: on (to Actiondetector)
>
> Gerade um z.B. den brightness Wert abzufragen braucht man doch genau
> diese Werte die einen zweiten Doppelpunkt enthalten.

Martin Thomas Schrott

unread,
Dec 10, 2012, 3:21:25 PM12/10/12
to fhem-...@googlegroups.com
okay, hab im anderen topic gerade gesehen, dass das mit dem
Batteriestatus geklappt hat... was ist dann das Problem mit dem motion:
on (to Actiondetector) ?
Martin hat da was angemerkt bzgl. hex code 000000 den er besser nicht
nehmen hätte sollen.
hm. okay, geht das deswegn nicht oder ist das jetzt wieder eine andere
Baustelle, die zufällig zu Tage gekommen ist? Was passiert durch die
Wahl dieses Hexcode?

lG
Martin

Martin Thomas Schrott

unread,
Dec 11, 2012, 3:50:45 AM12/11/12
to fhem-...@googlegroups.com
Schönen guten Morgen,

habe gerade ein Update von FHEM gemacht. Fehlermeldungen sind nun weg.

Liebe Grüße
Martin
Reply all
Reply to author
Forward
0 new messages