Hi,
ich habe mich versucht in die Thematik Peeren einzulesen und werde da nicht so ganz schlau daraus.
Daher möchte ich die Experten hier fragen, ob folgende 2 Situationen via peering lösbar sind, da mir die zeitliche Verzögerung manchmal auf den Keks geht:
1: Bewegungsmelder (HM-SEC-MDIR-2) im Flur schaltet Dimmaktor (HM-LC-DIM1L-CV) in Abhängigkeit von Uhrzeit und Helligkeit.
Hier mein notify:
OG.MotionDetector:motion:.* {
my $motion = ReadingsVal("OG.MotionDetector", "motion", 0);
my $brightness = ReadingsVal("OG.MotionDetector", "brightness", 0);
if ($motion =~ 'on' && ($hour >= 22 || $hour <= 6 ))
{ fhem('set OG.Dimmer 8 60 2') ; } # nachts gedimmt an
else
{ if ($brightness <=40 && $motion =~'on')
{ fhem('set OG.Dimmer 60 60 2') ; } # tagsueber normal an
}
2. Bewegungsmelder (HM-Sen-MDIR-O-2) auf dem Hof schaltet den Dimmaktor (HM-LC-Dim1TPBU-FM) auch in Abhängigkeit von Helligkeit.
Hier mein notify:
DR.MotionDetector:motion:.* {
my $motion = ReadingsVal("DR.MotionDetector", "motion", 0);
my $brightness = ReadingsVal("DR.MotionDetector", "brightness", 0);
{ if ($brightness <=90 && $motion =~ 'on')
{ fhem('set DR.Hof.Aussenlampe_02 100 58 2') ; }
}
}
Die notifys funktionieren auch ganz gut, bis auf die zeitliche Verzögerung. Auf dem Hof geht es ja noch, aber auf dem Flur ist es nervig, wenn das Licht erst zwei Sekunden später angeht.
Lassen sich die beiden Situationen via peering lösen?
Nicht mit der Uhrzeit, da kannst du nur einstellen, dass es direkt eingeschaltet wird unabhängig von der Uhrzeit und keine Einstellung der Lichtstärke
Guten Morgen,
der 2. Fall ist sehr einfach lösbar. Peeren von Bewegungsmelder und Aktor.
Anschließen per HMinfo mit entsprechenden Template das Verhalten einstellen.
https://wiki.fhem.de/wiki/HomeMatic_HMInfo#Templates und Stichwort motionOnDim
Den 1. Fall habe ich auch gerade umgesetzt. Man kann es zum größten Teil mit peeren umsetzen und per virtuellen Kanal die Helligkeit beeinflussen. Aber du brauchst die Zentrale, die sagt ob es Tag oder Nacht ist :).
Siehe hier: https://forum.fhem.de/index.php/topic,78193.0.html
Ein Beispiel werde ich die nächsten Tage noch schreiben (HM-LC-Dim1T-Pl3 und HM-Sen-MDIR-WM55).
Das Ergebnis bei beiden Lösungen ist aber, das die "Gedenksekunde" weg fällt.
schau an, da bin auch ich gespannt :)
So, jetzt finde ich endlich mal Zeit zu antworten.
Den 2. Fall habe ich mit den Templates sehr komfortabel via HMtemplate gelöst.
Jetzt fühlt es sich wie ein "normaler" Bewegungsmelder an. So soll es ein. :-)
@darkness: Da bin ich gespannt wie du den 1. Fall gelöst hast. Ich komme da irgendwie nicht weiter. :'(
Hallo,
wie angekündigt habe ich hier (https://wiki.fhem.de/wiki/HM-LC-Dim1T-Pl-3) im Wiki einen Eintrag erstellt
Gruß
Danke für den guten Artikel. Dieser Artikel trifft eher auf meinen HM-LC-Dim1TPBU-FM (Fall 2) zu. Dort habe ich drei Kanäle, die ich mit der LogicCombination gekoppelt habe.
Kanal 1 ist der physische Taster, zwei und drei virtuelle. Mit Kanal zwei schalte ich den Bewegungsmelder und Kanal drei dient der abendlichen Grundbeleuchtung.
Mein HM-LC-DIM1L-CV (OG.Dimmer) hat leider keine LogicCombination-Möglichkeit. intKeyVisib ist auf visib gesetzt.
Also bleibt mein Grundproblem von Fall 1 weiter bestehen. :'(
Ich möchte nachts gedimmtes Licht auf dem Flur haben und tagsüber volles Licht, sofern die Helligkeit zu gering ist. Gibt es da etwas?
Habe gerade festgestellt, dass es von dem Dimmern HM-LC-Dim1L-CV zwei Arten gibt.
Einmal den HM-LC-Dim1L-CV (1-Kanal) und den HM-LC-Dim1L-CV-644 (3-Kanäle).
Dann habe ich wohl den falschen Dimmer gekauft, oder besteht da noch eine Möglichkeit, mein Problem zu lösen?
Gibt es eigentlich irgendwo eine Aufstellung, wie welche Register mit welchen Werten in welcher Reihenfolge abgearbeitet werden?
Hm ... wir hatten ne Änderung mit den Abschnittsdimmern (T) in der HMConfig, nicht aber bei Anschnitt (L)
Dann hat das Ding keine virtuellen Kanäle und dann sehe ich auch keine Lösungsmöglichkeit.
Zitat von: the_noltens am 01 November 2017, 20:05:03
Gibt es eigentlich irgendwo eine Aufstellung, wie welche Register mit welchen Werten in welcher Reihenfolge abgearbeitet werden?
Wie meinst Du das? Die Statemachine? Welcher Trigger führt mit welcher Verzögerung zu welchem Ergebnis?
Vielleicht bin ich ja auch zu blöd, was die virtuellen Kanäle angeht, aber wenn ich virtuelle Kanäle hätte, würden die mir ja als separate Devices angezeigt werden.
Jetzt bin ich am Überlegen, ob über die Register des Dimmers,ev. mit Abstrichen, mein notify über Register abbilden kann. Nur dafür bräuchte ich irgendwie eine Doku, wo alle Register mit ihren Werten abgebildet sind. Gibt es so etwas?
Habe mir jetzt nochmal die Dimmer von Homematic angeschaut.
Also ich habe den HM-LC-Dim1L-CV, dann gibt es da noch den HM-LC-Dim1L-CV-644 und den HM-LC-Dim1L-CV-2.
Beide finde ich im Netz nicht, sondern nur den -CV. Gibt es die -644 und -2 nicht mehr?
Moin,
also, die Register eines Devices kannst Du Dir mit get <Devicename> reglist in der Web-GUI ansehen.
Die Register sind aber "statisch" nach dem Setzen - werden also in keiner Reihenfolge abgearbeitet, sondern definieren nur das Verhalten beim Eintreffen eines Triggers von einem Peer. Die Schaltzustände eines Devices laufen immer im "Kreis", also von on nach dlyoff, dann nach off, dann nach dlyon, dann nach on usw.
Beispiel :
Device ist im Zustand "on". Wenn ein Trigger vom Peer "x" kommt, steht im Register shSwJtOn das Sprungziel und im Register shCtOn die Bedingung, unter der der Sprung ausgeführt werden soll. Das Register shCtValLo beinhaltet dabei eine Vergleichskonstante.
shCtOn = geLo
shCtValLo = 50
shSwJtOn = off
-> Device geht von on nach off, wenn der Trigger (short) kleiner oder gleich shCtValLo (50) ist - andernfalls passiert nix und das Device bleibt in on.
Diese Registersätze gibt es für jedes gepeerte Device für sh-Trigger und für long-Trigger jeweils einmal, sie sind also (mit wenigen Ausnahmen) mehrfach vorhanden. Man kann also für jedes Peer unterschiedliche Reaktionen eines Device definieren.
Ist ziemlich komplex - aber damit kann man ne ganze Menge machen und manchmal auf viele notify etc verzichten. Ich empfehle die Einsteigerdoku "Heimautomatisierung mit fhem" von Ulrich Maaß - wirklich ne super Doku !! :)
Moin und viel Erfolg !
Bernd
@the_noltens
mach doch bitte mal ein List von deinem Dimmer.
Ziemlich lang die Liste und irgendwie hatte ich die kompakter in Erinnerung...
CUL1_MSGCNT 1420
CUL1_RAWMSG A0D19A4102BA15DF1123406010000::-65:CUL1
CUL1_RSSI -65
CUL1_TIME 2017-11-03 20:44:45
DEF 2BA15D
IODev CUL1
LASTInputDev CUL1
MSGCNT 1420
NAME OG.Dimmer
NOTIFYDEV global
NR 46
NTFY_ORDER 50-OG.Dimmer
STATE off
TYPE CUL_HM
lastMsg No:19 - t:10 s:2BA15D d:F11234 06010000
peerList self01,OG.MotionDetector,
protCmdDel 10
protLastRcv 2017-11-03 20:44:45
protResnd 52 last_at:2017-11-03 17:59:57
protResndFail 10 last_at:2017-11-03 07:03:51
protSnd 1131 last_at:2017-11-03 20:44:45
protState CMDs_done
protTimedOn 210 last_at:2017-11-03 20:43:40
rssi_CUL1 max:-62 cnt:367 lst:-65 avg:-65.57 min:-72
rssi_OG.MotionDetector avg:-33.76 min:-59 cnt:283 max:-32 lst:-33
rssi_at_CUL1 lst:-65 max:-62.5 cnt:1420 min:-72.5 avg:-65.43
Helper:
DBLOG:
R-OG.MotionDetector_chn-01-lgActionTypeDim:
DBLogging:
TIME 1509399337.49752
VALUE toggelDim
R-OG.MotionDetector_chn-01-lgCtDlyOff:
DBLogging:
TIME 1509399337.49752
VALUE geLo
R-OG.MotionDetector_chn-01-lgCtDlyOn:
DBLogging:
TIME 1509399337.49752
VALUE geLo
R-OG.MotionDetector_chn-01-lgCtOff:
DBLogging:
TIME 1509399337.49752
VALUE geLo
R-OG.MotionDetector_chn-01-lgCtOn:
DBLogging:
TIME 1509399337.49752
VALUE geLo
R-OG.MotionDetector_chn-01-lgCtRampOff:
DBLogging:
TIME 1509399337.49752
VALUE geLo
R-OG.MotionDetector_chn-01-lgCtRampOn:
DBLogging:
TIME 1509399337.49752
VALUE geLo
R-OG.MotionDetector_chn-01-lgCtValHi:
DBLogging:
TIME 1509399337.49752
VALUE 100
R-OG.MotionDetector_chn-01-lgCtValLo:
DBLogging:
TIME 1509399337.49752
VALUE 50
R-OG.MotionDetector_chn-01-lgDimJtDlyOff:
DBLogging:
TIME 1509399337.49752
VALUE rampOff
R-OG.MotionDetector_chn-01-lgDimJtDlyOn:
DBLogging:
TIME 1509399337.49752
VALUE rampOn
R-OG.MotionDetector_chn-01-lgDimJtOff:
DBLogging:
TIME 1509399337.49752
VALUE dlyOn
R-OG.MotionDetector_chn-01-lgDimJtOn:
DBLogging:
TIME 1509399337.49752
VALUE dlyOff
R-OG.MotionDetector_chn-01-lgDimJtRampOff:
DBLogging:
TIME 1509399337.49752
VALUE off
R-OG.MotionDetector_chn-01-lgDimJtRampOn:
DBLogging:
TIME 1509399337.49752
VALUE on
R-OG.MotionDetector_chn-01-lgDimMaxLvl:
DBLogging:
TIME 1509399337.49752
VALUE 100
R-OG.MotionDetector_chn-01-lgDimMinLvl:
DBLogging:
TIME 1509399337.49752
VALUE 0
R-OG.MotionDetector_chn-01-lgDimStep:
DBLogging:
TIME 1509399337.49752
VALUE 5
R-OG.MotionDetector_chn-01-lgMultiExec:
DBLogging:
TIME 1509399337.49752
VALUE on
R-OG.MotionDetector_chn-01-lgOffDly:
DBLogging:
TIME 1509399337.49752
VALUE 0 s
R-OG.MotionDetector_chn-01-lgOffDlyBlink:
DBLogging:
TIME 1509399337.49752
VALUE on
R-OG.MotionDetector_chn-01-lgOffDlyNewTime:
DBLogging:
TIME 1509399337.49752
VALUE 0.4 s
R-OG.MotionDetector_chn-01-lgOffDlyOldTime:
DBLogging:
TIME 1509399337.49752
VALUE 0.4 s
R-OG.MotionDetector_chn-01-lgOffDlyStep:
DBLogging:
TIME 1509399337.49752
VALUE 5
R-OG.MotionDetector_chn-01-lgOffLevel:
DBLogging:
TIME 1509399337.49752
VALUE 0
R-OG.MotionDetector_chn-01-lgOffTime:
DBLogging:
TIME 1509399337.49752
VALUE unused
R-OG.MotionDetector_chn-01-lgOffTimeMode:
DBLogging:
TIME 1509399337.49752
VALUE absolut
R-OG.MotionDetector_chn-01-lgOnDly:
DBLogging:
TIME 1509399337.49752
VALUE 0 s
R-OG.MotionDetector_chn-01-lgOnDlyMode:
DBLogging:
TIME 1509399337.49752
VALUE setToOff
R-OG.MotionDetector_chn-01-lgOnLevel:
DBLogging:
TIME 1509399337.49752
VALUE 100
R-OG.MotionDetector_chn-01-lgOnLvlPrio:
DBLogging:
TIME 1509399337.49752
VALUE high
R-OG.MotionDetector_chn-01-lgOnMinLevel:
DBLogging:
TIME 1509399337.49752
VALUE 10
R-OG.MotionDetector_chn-01-lgOnTime:
DBLogging:
TIME 1509399337.49752
VALUE unused
R-OG.MotionDetector_chn-01-lgOnTimeMode:
DBLogging:
TIME 1509399337.49752
VALUE absolut
R-OG.MotionDetector_chn-01-lgRampOffTime:
DBLogging:
TIME 1509399337.49752
VALUE 0.5 s
R-OG.MotionDetector_chn-01-lgRampOnTime:
DBLogging:
TIME 1509399337.49752
VALUE 0.5 s
R-OG.MotionDetector_chn-01-lgRampSstep:
DBLogging:
TIME 1509399337.49752
VALUE 5
R-OG.MotionDetector_chn-01-shActionTypeDim:
DBLogging:
TIME 1509399337.49752
VALUE jmpToTarget
R-OG.MotionDetector_chn-01-shCtDlyOff:
DBLogging:
TIME 1509399337.49752
VALUE geLo
R-OG.MotionDetector_chn-01-shCtDlyOn:
DBLogging:
TIME 1509399337.49752
VALUE geLo
R-OG.MotionDetector_chn-01-shCtOff:
DBLogging:
TIME 1509399337.49752
VALUE geLo
R-OG.MotionDetector_chn-01-shCtOn:
DBLogging:
TIME 1509399337.49752
VALUE geLo
R-OG.MotionDetector_chn-01-shCtRampOff:
DBLogging:
TIME 1509399337.49752
VALUE geLo
R-OG.MotionDetector_chn-01-shCtRampOn:
DBLogging:
TIME 1509399337.49752
VALUE geLo
R-OG.MotionDetector_chn-01-shCtValHi:
DBLogging:
TIME 1509399337.49752
VALUE 100
R-OG.MotionDetector_chn-01-shCtValLo:
DBLogging:
TIME 1509399337.49752
VALUE 50
R-OG.MotionDetector_chn-01-shDimJtDlyOff:
DBLogging:
TIME 1509399337.49752
VALUE rampOff
R-OG.MotionDetector_chn-01-shDimJtDlyOn:
DBLogging:
TIME 1509399337.49752
VALUE rampOn
R-OG.MotionDetector_chn-01-shDimJtOff:
DBLogging:
TIME 1509399337.49752
VALUE dlyOn
R-OG.MotionDetector_chn-01-shDimJtOn:
DBLogging:
TIME 1509399337.49752
VALUE dlyOff
R-OG.MotionDetector_chn-01-shDimJtRampOff:
DBLogging:
TIME 1509399337.49752
VALUE off
R-OG.MotionDetector_chn-01-shDimJtRampOn:
DBLogging:
TIME 1509399337.49752
VALUE on
R-OG.MotionDetector_chn-01-shDimMaxLvl:
DBLogging:
TIME 1509399337.49752
VALUE 100
R-OG.MotionDetector_chn-01-shDimMinLvl:
DBLogging:
TIME 1509399337.49752
VALUE 0
R-OG.MotionDetector_chn-01-shDimStep:
DBLogging:
TIME 1509399337.49752
VALUE 5
R-OG.MotionDetector_chn-01-shMultiExec:
DBLogging:
TIME 1509399337.49752
VALUE off
R-OG.MotionDetector_chn-01-shOffDly:
DBLogging:
TIME 1509399337.49752
VALUE 0 s
R-OG.MotionDetector_chn-01-shOffDlyBlink:
DBLogging:
TIME 1509399337.49752
VALUE on
R-OG.MotionDetector_chn-01-shOffDlyNewTime:
DBLogging:
TIME 1509399337.49752
VALUE 0.4 s
R-OG.MotionDetector_chn-01-shOffDlyOldTime:
DBLogging:
TIME 1509399337.49752
VALUE 0.4 s
R-OG.MotionDetector_chn-01-shOffDlyStep:
DBLogging:
TIME 1509399337.49752
VALUE 5
R-OG.MotionDetector_chn-01-shOffLevel:
DBLogging:
TIME 1509399337.49752
VALUE 0
R-OG.MotionDetector_chn-01-shOffTime:
DBLogging:
TIME 1509399337.49752
VALUE unused
R-OG.MotionDetector_chn-01-shOffTimeMode:
DBLogging:
TIME 1509399337.49752
VALUE absolut
R-OG.MotionDetector_chn-01-shOnDly:
DBLogging:
TIME 1509399337.49752
VALUE 0 s
R-OG.MotionDetector_chn-01-shOnDlyMode:
DBLogging:
TIME 1509399337.49752
VALUE setToOff
R-OG.MotionDetector_chn-01-shOnLevel:
DBLogging:
TIME 1509399337.49752
VALUE 100
R-OG.MotionDetector_chn-01-shOnLvlPrio:
DBLogging:
TIME 1509399337.49752
VALUE high
R-OG.MotionDetector_chn-01-shOnMinLevel:
DBLogging:
TIME 1509399337.49752
VALUE 10
R-OG.MotionDetector_chn-01-shOnTime:
DBLogging:
TIME 1509399337.49752
VALUE unused
R-OG.MotionDetector_chn-01-shOnTimeMode:
DBLogging:
TIME 1509399337.49752
VALUE absolut
R-OG.MotionDetector_chn-01-shRampOffTime:
DBLogging:
TIME 1509399337.49752
VALUE 0.5 s
R-OG.MotionDetector_chn-01-shRampOnTime:
DBLogging:
TIME 1509399337.49752
VALUE 0.5 s
R-OG.MotionDetector_chn-01-shRampSstep:
DBLogging:
TIME 1509399337.49752
VALUE 5
deviceMsg:
DBLogging:
TIME 1509738285.1384
VALUE off (to CUL1)
dim:
DBLogging:
TIME 1509738285.1384
VALUE stop:off
level:
DBLogging:
TIME 1509738285.1384
VALUE 0
loadFail:
DBLogging:
TIME 1509738285.1384
VALUE off
pct:
DBLogging:
TIME 1509738285.1384
VALUE 0
powerOn:
DBLogging:
TIME 1509734246.79652
VALUE 2017-11-03 19:37:26
state:
DBLogging:
TIME 1509738285.1384
VALUE off
timedOn:
DBLogging:
TIME 1509738285.1384
VALUE off
trigLast:
DBLogging:
TIME 1509738218.32034
VALUE OG.MotionDetector:34
trig_OG.MotionDetector:
DBLogging:
TIME 1509738218.32034
VALUE 34_40
READINGS:
2017-11-03 20:43:40 CommandAccepted yes
2017-01-15 17:26:44 D-firmware 2.3
2017-01-15 17:26:44 D-serialNr LEQ0568788
2017-10-30 22:35:30 PairedTo 0xF11234
2017-10-30 22:35:37 R-OG.MotionDetector_chn-01-lgActionTypeDim toggelDim
2017-10-30 22:35:37 R-OG.MotionDetector_chn-01-lgCtDlyOff geLo
2017-10-30 22:35:37 R-OG.MotionDetector_chn-01-lgCtDlyOn geLo
2017-10-30 22:35:37 R-OG.MotionDetector_chn-01-lgCtOff geLo
2017-10-30 22:35:37 R-OG.MotionDetector_chn-01-lgCtOn geLo
2017-10-30 22:35:37 R-OG.MotionDetector_chn-01-lgCtRampOff geLo
2017-10-30 22:35:37 R-OG.MotionDetector_chn-01-lgCtRampOn geLo
2017-10-30 22:35:37 R-OG.MotionDetector_chn-01-lgCtValHi 100
2017-10-30 22:35:37 R-OG.MotionDetector_chn-01-lgCtValLo 50
2017-10-30 22:35:37 R-OG.MotionDetector_chn-01-lgDimJtDlyOff rampOff
2017-10-30 22:35:37 R-OG.MotionDetector_chn-01-lgDimJtDlyOn rampOn
2017-10-30 22:35:37 R-OG.MotionDetector_chn-01-lgDimJtOff dlyOn
2017-10-30 22:35:37 R-OG.MotionDetector_chn-01-lgDimJtOn dlyOff
2017-10-30 22:35:37 R-OG.MotionDetector_chn-01-lgDimJtRampOff off
2017-10-30 22:35:37 R-OG.MotionDetector_chn-01-lgDimJtRampOn on
2017-10-30 22:35:37 R-OG.MotionDetector_chn-01-lgDimMaxLvl 100 %
2017-10-30 22:35:37 R-OG.MotionDetector_chn-01-lgDimMinLvl 0 %
2017-10-30 22:35:37 R-OG.MotionDetector_chn-01-lgDimStep 5 %
2017-10-30 22:35:37 R-OG.MotionDetector_chn-01-lgMultiExec on
2017-10-30 22:35:37 R-OG.MotionDetector_chn-01-lgOffDly 0 s
2017-10-30 22:35:37 R-OG.MotionDetector_chn-01-lgOffDlyBlink on
2017-10-30 22:35:37 R-OG.MotionDetector_chn-01-lgOffDlyNewTime 0.4 s
2017-10-30 22:35:37 R-OG.MotionDetector_chn-01-lgOffDlyOldTime 0.4 s
2017-10-30 22:35:37 R-OG.MotionDetector_chn-01-lgOffDlyStep 5 %
2017-10-30 22:35:37 R-OG.MotionDetector_chn-01-lgOffLevel 0 %
2017-10-30 22:35:37 R-OG.MotionDetector_chn-01-lgOffTime unused
2017-10-30 22:35:37 R-OG.MotionDetector_chn-01-lgOffTimeMode absolut
2017-10-30 22:35:37 R-OG.MotionDetector_chn-01-lgOnDly 0 s
2017-10-30 22:35:37 R-OG.MotionDetector_chn-01-lgOnDlyMode setToOff
2017-10-30 22:35:37 R-OG.MotionDetector_chn-01-lgOnLevel 100 %
2017-10-30 22:35:37 R-OG.MotionDetector_chn-01-lgOnLvlPrio high
2017-10-30 22:35:37 R-OG.MotionDetector_chn-01-lgOnMinLevel 10 %
2017-10-30 22:35:37 R-OG.MotionDetector_chn-01-lgOnTime unused
2017-10-30 22:35:37 R-OG.MotionDetector_chn-01-lgOnTimeMode absolut
2017-10-30 22:35:37 R-OG.MotionDetector_chn-01-lgRampOffTime 0.5 s
2017-10-30 22:35:37 R-OG.MotionDetector_chn-01-lgRampOnTime 0.5 s
2017-10-30 22:35:37 R-OG.MotionDetector_chn-01-lgRampSstep 5 %
2017-10-30 22:35:37 R-OG.MotionDetector_chn-01-shActionTypeDim jmpToTarget
2017-10-30 22:35:37 R-OG.MotionDetector_chn-01-shCtDlyOff geLo
2017-10-30 22:35:37 R-OG.MotionDetector_chn-01-shCtDlyOn geLo
2017-10-30 22:35:37 R-OG.MotionDetector_chn-01-shCtOff geLo
2017-10-30 22:35:37 R-OG.MotionDetector_chn-01-shCtOn geLo
2017-10-30 22:35:37 R-OG.MotionDetector_chn-01-shCtRampOff geLo
2017-10-30 22:35:37 R-OG.MotionDetector_chn-01-shCtRampOn geLo
2017-10-30 22:35:37 R-OG.MotionDetector_chn-01-shCtValHi 100
2017-10-30 22:35:37 R-OG.MotionDetector_chn-01-shCtValLo 50
2017-10-30 22:35:37 R-OG.MotionDetector_chn-01-shDimJtDlyOff rampOff
2017-10-30 22:35:37 R-OG.MotionDetector_chn-01-shDimJtDlyOn rampOn
2017-10-30 22:35:37 R-OG.MotionDetector_chn-01-shDimJtOff dlyOn
2017-10-30 22:35:37 R-OG.MotionDetector_chn-01-shDimJtOn dlyOff
2017-10-30 22:35:37 R-OG.MotionDetector_chn-01-shDimJtRampOff off
2017-10-30 22:35:37 R-OG.MotionDetector_chn-01-shDimJtRampOn on
2017-10-30 22:35:37 R-OG.MotionDetector_chn-01-shDimMaxLvl 100 %
2017-10-30 22:35:37 R-OG.MotionDetector_chn-01-shDimMinLvl 0 %
2017-10-30 22:35:37 R-OG.MotionDetector_chn-01-shDimStep 5 %
2017-10-30 22:35:37 R-OG.MotionDetector_chn-01-shMultiExec off
2017-10-30 22:35:37 R-OG.MotionDetector_chn-01-shOffDly 0 s
2017-10-30 22:35:37 R-OG.MotionDetector_chn-01-shOffDlyBlink on
2017-10-30 22:35:37 R-OG.MotionDetector_chn-01-shOffDlyNewTime 0.4 s
2017-10-30 22:35:37 R-OG.MotionDetector_chn-01-shOffDlyOldTime 0.4 s
2017-10-30 22:35:37 R-OG.MotionDetector_chn-01-shOffDlyStep 5 %
2017-10-30 22:35:37 R-OG.MotionDetector_chn-01-shOffLevel 0 %
2017-10-30 22:35:37 R-OG.MotionDetector_chn-01-shOffTime unused
2017-10-30 22:35:37 R-OG.MotionDetector_chn-01-shOffTimeMode absolut
2017-10-30 22:35:37 R-OG.MotionDetector_chn-01-shOnDly 0 s
2017-10-30 22:35:37 R-OG.MotionDetector_chn-01-shOnDlyMode setToOff
2017-10-30 22:35:37 R-OG.MotionDetector_chn-01-shOnLevel 100 %
2017-10-30 22:35:37 R-OG.MotionDetector_chn-01-shOnLvlPrio high
2017-10-30 22:35:37 R-OG.MotionDetector_chn-01-shOnMinLevel 10 %
2017-10-30 22:35:37 R-OG.MotionDetector_chn-01-shOnTime unused
2017-10-30 22:35:37 R-OG.MotionDetector_chn-01-shOnTimeMode absolut
2017-10-30 22:35:37 R-OG.MotionDetector_chn-01-shRampOffTime 0.5 s
2017-10-30 22:35:37 R-OG.MotionDetector_chn-01-shRampOnTime 0.5 s
2017-10-30 22:35:37 R-OG.MotionDetector_chn-01-shRampSstep 5 %
2017-01-27 10:25:40 R-confBtnTime permanent
2017-07-06 21:54:05 R-intKeyVisib visib
2017-01-27 10:25:40 R-loadAppearBehav off
2017-01-27 10:25:40 R-loadErrCalib 1
2017-01-27 10:25:40 R-pairCentral 0xF11234
2017-01-27 10:25:40 R-powerUpAction off
2017-02-25 22:44:58 R-self01-lgActionTypeDim toggelDim
2017-02-25 22:44:58 R-self01-lgCtDlyOff geLo
2017-02-25 22:44:58 R-self01-lgCtDlyOn geLo
2017-02-25 22:44:58 R-self01-lgCtOff geLo
2017-02-25 22:44:58 R-self01-lgCtOn geLo
2017-02-25 22:44:58 R-self01-lgCtRampOff geLo
2017-02-25 22:44:58 R-self01-lgCtRampOn geLo
2017-02-25 22:44:58 R-self01-lgCtValHi 100
2017-02-25 22:44:58 R-self01-lgCtValLo 50
2017-02-25 22:44:58 R-self01-lgDimJtDlyOff rampOff
2017-02-25 22:44:58 R-self01-lgDimJtDlyOn rampOn
2017-02-25 22:44:58 R-self01-lgDimJtOff dlyOn
2017-02-25 22:44:58 R-self01-lgDimJtOn dlyOff
2017-02-25 22:44:58 R-self01-lgDimJtRampOff off
2017-02-25 22:44:58 R-self01-lgDimJtRampOn on
2017-02-25 22:44:58 R-self01-lgDimMaxLvl 100 %
2017-02-25 22:44:58 R-self01-lgDimMinLvl 0 %
2017-02-25 22:44:58 R-self01-lgDimStep 5 %
2017-02-25 22:44:58 R-self01-lgMultiExec on
2017-02-25 22:44:58 R-self01-lgOffDly 0 s
2017-02-25 22:44:58 R-self01-lgOffDlyBlink on
2017-02-25 22:44:58 R-self01-lgOffDlyNewTime 0.4 s
2017-02-25 22:44:58 R-self01-lgOffDlyOldTime 0.4 s
2017-02-25 22:44:58 R-self01-lgOffDlyStep 5 %
2017-02-25 22:44:58 R-self01-lgOffLevel 0 %
2017-02-25 22:44:58 R-self01-lgOffTime unused
2017-02-25 22:44:58 R-self01-lgOffTimeMode absolut
2017-02-25 22:44:58 R-self01-lgOnDly 0 s
2017-02-25 22:44:58 R-self01-lgOnDlyMode setToOff
2017-02-25 22:44:58 R-self01-lgOnLevel 100 %
2017-02-25 22:44:58 R-self01-lgOnLvlPrio high
2017-02-25 22:44:58 R-self01-lgOnMinLevel 10 %
2017-02-25 22:44:58 R-self01-lgOnTime unused
2017-02-25 22:44:58 R-self01-lgOnTimeMode absolut
2017-02-25 22:44:58 R-self01-lgRampOffTime 0.5 s
2017-02-25 22:44:58 R-self01-lgRampOnTime 0.5 s
2017-02-25 22:44:58 R-self01-lgRampSstep 5 %
2017-02-25 22:44:58 R-self01-shActionTypeDim jmpToTarget
2017-02-25 22:44:58 R-self01-shCtDlyOff geLo
2017-02-25 22:44:58 R-self01-shCtDlyOn geLo
2017-02-25 22:44:58 R-self01-shCtOff geLo
2017-02-25 22:44:58 R-self01-shCtOn geLo
2017-02-25 22:44:58 R-self01-shCtRampOff geLo
2017-02-25 22:44:58 R-self01-shCtRampOn geLo
2017-02-25 22:44:58 R-self01-shCtValHi 100
2017-02-25 22:44:58 R-self01-shCtValLo 50
2017-02-25 22:44:58 R-self01-shDimJtDlyOff rampOff
2017-02-25 22:44:58 R-self01-shDimJtDlyOn rampOn
2017-02-25 22:44:58 R-self01-shDimJtOff dlyOn
2017-02-25 22:44:58 R-self01-shDimJtOn dlyOff
2017-02-25 22:44:58 R-self01-shDimJtRampOff off
2017-02-25 22:44:58 R-self01-shDimJtRampOn on
2017-02-25 22:44:58 R-self01-shDimMaxLvl 100 %
2017-02-25 22:44:58 R-self01-shDimMinLvl 0 %
2017-02-25 22:44:58 R-self01-shDimStep 5 %
2017-02-25 22:44:58 R-self01-shMultiExec off
2017-02-25 22:44:58 R-self01-shOffDly 0 s
2017-02-25 22:44:58 R-self01-shOffDlyBlink on
2017-02-25 22:44:58 R-self01-shOffDlyNewTime 0.4 s
2017-02-25 22:44:58 R-self01-shOffDlyOldTime 0.4 s
2017-02-25 22:44:58 R-self01-shOffDlyStep 5 %
2017-02-25 22:44:58 R-self01-shOffLevel 0 %
2017-02-25 22:44:58 R-self01-shOffTime unused
2017-02-25 22:44:58 R-self01-shOffTimeMode absolut
2017-02-25 22:44:58 R-self01-shOnDly 0 s
2017-02-25 22:44:58 R-self01-shOnDlyMode setToOff
2017-02-25 22:44:58 R-self01-shOnLevel 100 %
2017-02-25 22:44:58 R-self01-shOnLvlPrio high
2017-02-25 22:44:58 R-self01-shOnMinLevel 10 %
2017-02-25 22:44:58 R-self01-shOnTime unused
2017-02-25 22:44:58 R-self01-shOnTimeMode absolut
2017-02-25 22:44:58 R-self01-shRampOffTime 0.5 s
2017-02-25 22:44:58 R-self01-shRampOnTime 0.5 s
2017-02-25 22:44:58 R-self01-shRampSstep 5 %
2017-01-27 10:25:40 R-statusInfoMinDly 2 s
2017-01-27 10:25:40 R-statusInfoRandom 1 s
2017-01-27 10:25:40 R-transmitTryMax 6
2017-11-03 20:44:45 deviceMsg off (to CUL1)
2017-11-03 20:44:45 dim stop:off
2017-11-03 20:44:45 level 0
2017-11-03 20:44:45 loadFail off
2017-11-03 20:44:45 pct 0
2017-10-30 22:35:31 peerList self01,OG.MotionDetector,
2017-11-03 19:37:26 powerOn 2017-11-03 19:37:26
2017-11-03 20:44:45 recentStateType info
2017-07-03 22:04:25 sabotageAttackId_ErrIoId_F11234 cnt:532
2017-11-03 20:44:45 state off
2017-11-03 20:44:45 timedOn off
2017-11-03 20:43:38 trigLast OG.MotionDetector:34
2017-11-03 20:43:38 trig_OG.MotionDetector 34_40
helper:
HM_CMDNR 25
PONtest 0
cSnd 11F112342BA15D02017802804B00,11F112342BA15D02017802804B00
dlvlCmd ++A011F112342BA15D02017802804B00
mId 0012
peerIDsRaw ,2BA15D01,3D271901,00000000
rxType 1
supp_Pair_Rep 0
dir:
cur stop
rct up
expert:
def 1
det 1
raw 0
tpl 0
io:
newChn +2BA15D,00,00,00
nextSend 1509738285.13179
prefIO
rxt 0
vccu
p:
2BA15D
00
00
00
mRssi:
mNo 19
io:
CUL1 -63
prt:
bErr 0
sProc 0
rspWait:
q:
qReqConf 00
qReqStat
role:
chn 1
dev 1
prs 1
rpt:
IO CUL1
flg A
ts 1509738285.03804
ack:
HASH(0x2ae4940)
198002F112342BA15D00
rssi:
CUL1:
avg -65.574931880109
cnt 367
lst -65
max -62
min -72
OG.MotionDetector:
avg -33.7632508833922
cnt 283
lst -33
max -32
min -59
at_CUL1:
avg -65.4387323943662
cnt 1420
lst -65
max -62.5
min -72.5
shadowReg:
tmpl:
Attributes:
IODev CUL1
autoReadReg 4_reqStatus
expert 1_allReg
firmware 2.3
icon message_light_intensity
model HM-LC-DIM1L-CV
peerIDs 00000000,2BA15D01,3D271901,
room 10_OG.Flur,Geräte
serialNr LEQ0568788
subType dimmer
webCmd statusRequest:toggle:on:off:up:down
Guten Morgen,
durch das peering wird das list natürlich ziemlich lang. Dein Device scheint aber tatsächlich keinen virtuellen Kanäle zu besitzen.
Du könntest mit dem Register OG.MotionDetector_chn-01-shOnLevel
arbeiten.
Wenn du diesen auf zB 20 setzt, wird der Dimmer mit 20% angeschaltet.
Gruß
Guten Morgen. Damit könnte ich tatsächlich für das "Nachtlicht" den Wert setzen, aber tagsüber wäre das dann auch 20% und die Helligkeit wäre nicht berücksichtigt.
Kann man eigentlich einen at-Befehl mit regset kombinieren? Dann könnte ich ShOnLevel via Regset setzen und hätte die gleiche Funktion.
Nur wie bekomme ich den Helligkeitswert mit rein, oder müsste ich darauf verzichten? Oder hilft hier auch das Template aus HMInfo MotionOnDim weiter?
edit: mein Meckerbeitrag zu einem durch und durch überflüssigen Posting eines neuen Users hat sicher erübrigt, da das Posting gelöscht wurde.
Zur Sache:
Natürlich könnte man shOnLevel per at setzen (oder einem anderen zeitgesteuerten Programm). Damit änderst Du den Helligkeitswert des Aktors, wenn der Bewegungsmelder einschaltet. Ob er einschalten soll, brauchst Du doch aber mit einer (Umgebungs-)Helligkeitsschwelle nur einmalig zu setzen.
Das Template setzt auch den Umgebungshelligkeitswert mit und noch viel mehr Sachen, die hier gar nicht nötig sind. Für das tageszeitabhängige Festlegen der Lampenhelligkeit reicht shOnLevel völlig.
Die Verknüpfung mit anderen Tasten kann man auch mit anderen Registern regeln, also eine Mindesthelligkeit festlegen und die Dauer. Mein Dimmer im Wohnzimmer nutzt keine virtuellen Kanäle, und dennoch hebe ich mit dem Bewegungsmelder bei Dunkelheit die Beleuchtung auf 20% an, egal, was unabhängig davon per Taster oder Programm eingeschaltet ist.
@Pfriemler: Dein Meckerbeitrag war gerechtfertigt. Wengistens hat der Typ seinen Fehler bemerkt, oder ein Admin... ;D
So habe jetzt mal beide Reglists (OG.Dimmer und DR.Hof.Aussenlampe_02) in Excel gegenübergestellt. Demnach müsste ich folgende Register anpassen:
shCtDlyOff ltLo
shCtDlyOn ltLo
shCtOff ltLo
shCtOn ltLo
shCtRampOff ltLo
shCtRampOn ltLo
shCtValLo 90
shOnLevel 100%
shOnTime 60 s
Dann könnte ich in einem at und darin enthaltenen regset, morgens und abends den shOnLevel-Wert setzen, oder?
Die ltLo ermöglichen das Reagieren auf Werte unter shCtValLo, der Helligkeitsschwelle sozusagen. Das macht das template einmalig wunderbar. Dann im Betrieb reicht shOnLevel im at.
Eine kleine Frage am Rande.
Akzeptiert der Dimmer den die Befehle "automatisch" (ich glaube LazyConfig heißt das, oder).
Ansonsten bringt es ja nichts, wenn du immer den ConfigKnopf drücken musst.
Gruß
lazyConfig und Knöbbsche gibts nur bei Batteriesensoren, praktisch alle Aktoren, auch batteriebetriebene, verarbeiten regSet ohne weiteres Zutun.
und wieder was gelernt.... ;D
Danke
und die Bewegungsmelder verarbeiten das regSet bei Bewegung :D zumindest kommt dann die Erfolgsquittung.
8) Coole Sache. Funktioniert so wie ich es mir vorstelle. Endlich ist die Gedankensekunde vorbei!!!
Ist zwar ein bisschen doof, dass ich jedesmal via regset den gedimmten Wert setzen muss.
Wie verhält sich das eigentlich mit dem Register shOffDlyBlink?
shOffDlyBlink on
shOffDlyNewTime 0.4 s
shOffDlyOldTime 0.4 s
shOffDlyStep 5 %
Was macht OffDlyStep? Auf 5% dimmen, oder um 5% dimmen?
Ich kann zumindest kein blinken feststellen.
Mal ne Frage am Rande: Ich habe ja den Dimmer HM-LC-Dim1L-CV, der ja leider keine virtuellen Kanäle hat. Es gibt laut HMinfo auch den HM-LC-Dim1L-CV-644, oder auch den HM-LC-DIM2L-CV. Ich habe nirgends eine Bezugsquelle gefunden. Habt ihr ev. einen Tipp für mich?
Zitat von: the_noltens am 08 November 2017, 21:42:02
Ist zwar ein bisschen doof, dass ich jedesmal via regset den gedimmten Wert setzen muss.
Sonst müsstest du via FHEM den Kanal einstellen um ein entsprechende Dim-Ergebniss zu bekommen. Von daher hast du ja nicht gewonnen/verloren.
Gruß
shOffDlyBlink ist, wenn ich das recht erinnere, eine Helligkeitsvariation im Abschaltbereich, wird im Treppenhausmodus benutzt, um den Benutzer durch eine Flackern auf die unmittelbar bevorstehende Abschaltung hinzuweisen (die er mit Nachtriggern unterbinden kann). Die übrigen Register erklärt get...regList:
shOffDlyBlink | literal | required | blink when in off delay options:on,off
shOffDlyNewTime | 0.1 to 25.6s | required | off delay blink time for low
shOffDlyOldTime | 0.1 to 25.6s | required | off delay blink time for high
shOffDlyStep | 0.1 to 25.6% | required | off delay step if blink is active
Ob und wie lange geblinkt wird, legt shOffDly (default 0) fest. Das ist ein Zwischenzustand, der üblicherweise übersprungen wird. Das Delay gibt es auch bei Schaltaktoren, nur dann ohne Flackern. Ein reines verzögertes Ausschalten nach einem Ausschalttrigger erreicht man auch bei einem Dimmer, wenn man shOffDlyBlink auf off setzt.
Und zu den Anschnittsdimmern mit virtuellen Kanälen: Scheinen tatsächlich Mangeware zu sein. Dabei sind die virtuellen Kanälen bei den Abschnittschnittsdimmern inzwischen Standard.
Jetzt habe ich zwei At's angelegt. Einer der morgens das ShOnLevel auf 60 setzt und abends auf 8.
*22:00:00 {fhem('set OG.Dimmer regSet shOnLevel 8 OG.MotionDetector_chn-01')}
*07:00:00 {fhem('set OG.Dimmer regSet shOnLevel 60 OG.MotionDetector_chn-01')}
Aber der Dimmer hat den Wert nicht bekommen und im Log ist nichts zu sehen. Muss ich da noch ein GetConfig hinterhersetzen?
regSets werden m.W. nicht geloggt. Höchstens im Device-Log.
Üblicherweise zieht FHEM die geänderten Register zeitnah allein nach. Ob FHEM die aktuellen Register kennt, hat aber keinerlei Einfluss auf die Funktion. Zum Prüfen kannst Du natürlich ein getConfig machen, aber der Dimmer sollte Dir die geänderte Helligkeit ja auch so mitteilen, wenn er erfolgreich aktiviert wird.
Ich schreibe die fhem-Befehle immer in "", aber das ist wohl Jacke, oder?
Wozu ist dieser Salto nach Perl und zurück in FHEM?
Man darf doch im at auch einfach die Befehle direkt schreiben ;D wenn man nicht zusätzlich was mit Perl machen will
{fhem('set OG.Dimmer regSet shOnLevel 60 OG.MotionDetector_chn-01')}
ist einfacher so:
set OG.Dimmer regSet shOnLevel 60 OG.MotionDetector_chn-01
https://fhem.de/commandref_DE.html#at
Gruß Otto
Zitat von: Otto123 am 09 November 2017, 21:30:59
Wozu ist dieser Salto nach Perl und zurück in FHEM?
... und ich hab es nicht mal bemerkt. Das kommt davon, wenn man nur noch DOIF einsetzt ... ;D ;D ;D
:D da muss ich Pfriemler zustimmen. Ich habe es mir auch angewöhnt in Perl zu schreiben. Kann es ja noch ändern. :D
Was die Änderung der Helligkeit angeht, dass ist ja mein Problem. Der at hat gearbeitet, aber die Helligkeit wurde nicht geändert. :o
Die Befehle kannst Du ja ohne at Befehl direkt absetzen. Funktionieren Sie dann? Hast Du alles drei Kombinationen probiert? {fhem("<Befehl>")} und <Befehl> sollte gleich sein.
Bei {fhem('<Befehl>')} bin ich nicht sicher, in ' ' müssen manche Zeichen geschützt werden, aber ich glaube Punkte nicht :-[
Gruß Otto
Wenn ich direkt im Device mit set OG.Dimmer... ausführe, klappt es. Habe jetzt aus dem at die geschweifte Klammer rausgenommen. Wenn ich das at execNow starte, funktioniert es. Mal bis 22 Uhr warten, dann weiß ich mehr. :-)
Anscheinend klappt das mit dem at-Befehl nicht zuverlässig. Habe es ohne Perl-Anweisung geschrieben, klappt aber nicht. :'(
Wie kann ich überprüfen, ob es Fehler gab? Im Log-File steht drin:
CUL_HM set OG.Dimmer regSet shOnLevel 8 OG.MotionDetector_chn-01
Deine Logzeile zeigt nur dass das at funktioniert. Warum der Aktor den Befehl nicht verarbeitet, entzieht sich meinem Verständnis. Fehlerhaft an sich scheint es nicht zu sein, sonst müsste ein Fehler kommen. Im Device selbst muss aber ein "cmds_pending" oder auch ein "set_8" beim zugehörigen shOnLevel zu sehen sein.
Habe eben gerade nachgeschaut. Da stand noch ein set_60 von heute morgen.
Schaue heute Abend nach, ob er nur set_8 steht, oder auch gesetzt wurde.
Verdammt, das regset funktioniert via at nicht zuverlässig. >:(
FHEM setzt das nicht um...
Hat noch jemand einen Tipp für mich?
Ansonsten muss ich damit wohl leben. Entweder Gedankensekunde und zeitabhängig hell und heller, oder keine Gedankensekunde, dafür aber keine zeitabhängige Helligkeit.
Zitat von: the_noltens am 17 November 2017, 20:44:57
FHEM setzt das nicht um...
Das glaub ich nicht. Das ist kein sinnvoller Satz.
Geht das at nicht oder geht der Befehl nicht?
Gruß Otto
Du hast recht. Ich weiss nur nicht weiter. Wenn ich executeNow klicke, funktioniert der at-Befehl. Nur nicht zeitgesteuert. Meine anderen at's laufen einwandfrei.
Dann mach mal bitte in list von dem at
Gruß Otto
Internals:
COMMAND set OG.Dimmer regSet shOnLevel 8 OG.MotionDetector_chn-01
DEF *22:00:00 set OG.Dimmer regSet shOnLevel 8 OG.MotionDetector_chn-01
NAME OG.Flur.Licht.Nacht
NR 188
PERIODIC yes
RELATIVE no
REP -1
STATE Next: 22:00:00
TIMESPEC 22:00:00
TRIGGERTIME 1511125200
TRIGGERTIME_FMT 2017-11-19 22:00:00
TYPE at
READINGS:
2017-11-18 22:00:00 state Next: 22:00:00
Attributes:
room 10_OG.Flur
hmm das at sieht eigentlich alles gut aus.
Kommando gut geschrieben
es lief um 22:00
nächster Trigger ist für morgen.
Eigentlich werden die set Befehle doch ins log geschrieben? Da steht nix?
Hast Du ein Filelog für OG.Dimmer?
Gruß Otto
Habe im Filelog immer das stehen:
CUL_HM set OG.Dimmer regSet shOnLevel 8 OG.MotionDetector_chn-01
Natürlich morgens den Wert 60 und abends wird 8 gesetzt.
Habe eben mal ein separates Logfile für den Dimmer angelegt.
Mal schauen, was morgen alles drin steht.
Ich begreife es nicht. Im Log ist folgendes zu sehen:
2017-11-21_22:00:00 OG.Dimmer R-OG.MotionDetector_chn-01-shOnLevel: 8 %
2017-11-21_22:00:11 OG.Dimmer trigLast: OG.MotionDetector:34
2017-11-21_22:00:11 OG.Dimmer trig_OG.MotionDetector: 34_233
2017-11-21_22:00:11 OG.Dimmer deviceMsg: 60 (to OG.MotionDetector)
2017-11-21_22:00:11 OG.Dimmer dim: stop:60
2017-11-21_22:00:11 OG.Dimmer level: 60
2017-11-21_22:00:11 OG.Dimmer loadFail: off
2017-11-21_22:00:11 OG.Dimmer pct: 60
2017-11-21_22:00:11 OG.Dimmer 60
2017-11-21_22:00:11 OG.Dimmer timedOn: running
Es ändert sich aber nur sporadisch...
Muss ich jetzt doch nach einem Dimmer mit virtuellen Kanälen schauen?
Manchmal verstehe ich die Systeme einfach nicht.
Jetzt habe ich den regset Befehl einfach zweimal nacheinander laufen lassen und der neue Dimm-Wert wird übernommen.
Ich unbedingt schick, aber es funktioniert.
Danke für eure Mithilfe!