FHEM Forum

FHEM - Hausautomations-Systeme => Homematic => Thema gestartet von: der-Lolo am 28 September 2013, 08:59:22

Titel: HM-LC-Sw1PBU-FM Timer und blinken bevor Timer ende...
Beitrag von: der-Lolo am 28 September 2013, 08:59:22
Hallo zusammen,
ich habe einen HM-LC-Sw1PBU-FM mit
define Badlicht_an notify bd_sw:on* define Badlicht_aus at +00:20:00 set bd_sw off

schalte ich das Licht für 20minuten an - ich hätte gerne das es nach 19 minuten kurz blinkt
um darauf hinzuweisen das es geleich ausgeht. Wenn man jetzt den schalter drückt sollen die 20min neu angestossen werden...

Wie kann ich das realisieren?
Titel: Aw: HM-LC-Sw1PBU-FM Timer und blinken bevor Timer ende...
Beitrag von: martinp876 am 28 September 2013, 09:32:34
hi der-Lolo,

nun, zum einen kann man die Register nutzen, evtl nicht dein Weg.

Die Schwierigkeit sollte das "kurze" aus sein. schicke sich nach 19 min eine Sequenz
set ... off;sleep 0.2;set ... on-for-timer 60

passe auf,dass dein notify nicht durch das on-for-timer getriggert wird! den Filter solltest du genauer fassen

Gruss Martin
Titel: Aw: HM-LC-Sw1PBU-FM Timer und blinken bevor Timer ende...
Beitrag von: der-Lolo am 30 September 2013, 21:10:41
Hallo Martin,
Ich muss hier nochmal nachfragen...
Ich habe das notify angepasst:

define notify bd_sw:on* define Badlicht_aus at +00:00:30 set bd_sw off;sleep 0.3;set bd_sw on-for-timer 60

Die folge ist das nach 30sekunden das licht ausgeht... Also nur ein bisschen am Ziel vorbei geschossen.
Was habe ich denn da schon wieder nicht verstanden? Wird eine solche Sequenz denn überhaupt Punkt für Punkt abgearbeitet?

Was meinst du in deinem Post mit Filter?
Wie würde sich das Vorhaben über die Register realisieren lassen?
Wann hat man Homematic soweit verstanden das man nicht ständig dumme fragen fragen muss..?

Titel: Aw: HM-LC-Sw1PBU-FM Timer und blinken bevor Timer ende...
Beitrag von: justme1968 am 30 September 2013, 21:22:03
hallo martin,

gab es nicht sogar im aktor das feature das er kurz vor dem ende eines on-for-timer blinken kann? oder war das nur der dimmer?

gruss
  andre
Titel: Aw: HM-LC-Sw1PBU-FM Timer und blinken bevor Timer ende...
Beitrag von: martinp876 am 01 Oktober 2013, 00:17:47
@andre
ich hatte einmal etwas gelesen - ist mir aber aktuell nicht klar, wie es geht. Möglich ist es schon...

@der-Lolo
ZitatWann hat man Homematic soweit verstanden das man nicht ständig dumme fragen fragen muss..?
keine Ahnung, den Zustand habe ich noch nicht erreicht ;-)
es kommt immer darauf an, wie speziell die Anforderungen sind.

die Kommandos werden sequenziell abgearbeitet. das Sleep sollte nicht zu lange sein, da es FHEM pausieren lässt. vielleicht solltest du es etwa klammern?

Gruss Martin

Titel: Aw: HM-LC-Sw1PBU-FM Timer und blinken bevor Timer ende...
Beitrag von: justme1968 am 01 Oktober 2013, 00:46:58
ich hab es wieder gefunden wo ich es gelesen hatte: http://www.homematic-inside.de/archive/tecbase/item/root/experten-modus-parameter.html (//www.homematic-inside.de/archive/tecbase/item/root/experten-modus-parameter.html). in der grafik als e bzw. ausschaltverzögerungs-sprung.

gruss
  andre
Titel: Aw: HM-LC-Sw1PBU-FM Timer und blinken bevor Timer ende...
Beitrag von: martinp876 am 01 Oktober 2013, 08:38:50
danke, hatte ich auch einmal gefunden :-)

laut register kann man "OffDlyBlink" einschalten.
wie man das parametrisiert ist mir nicht klar. Es gibt noch
OffDlyNewTime
OffDlyOldTime
 evtl Blinkzeit? Die Dimmer haben jede Menge register....

Titel: Aw: HM-LC-Sw1PBU-FM Timer und blinken bevor Timer ende...
Beitrag von: der-Lolo am 01 Oktober 2013, 12:34:29
Klingt als ob ich da mein erstes template bauen muss..
Gibts vorlagen? Wo finde ich die?
Titel: Aw: HM-LC-Sw1PBU-FM Timer und blinken bevor Timer ende...
Beitrag von: martinp876 am 01 Oktober 2013, 20:17:02
commandref?
Titel: Aw: HM-LC-Sw1PBU-FM Timer und blinken bevor Timer ende...
Beitrag von: der-Lolo am 02 Oktober 2013, 14:54:39
Hallo Martin,

Ich meinte eigentlich das ich mir gerne deine templates als Vorlage anschauen möchte - das Comandref hilft mir nicht...

Noch dazu kommt das der Schalter ein Schalter und kein Dimmer ist.
Die Register offdlyblink offdlynewtime offdlyoldtime gibt es nicht...

Es gibt:
bd_sw type:switch -
list:peer   register         :value
   3:self01   lgActionType     :jmpToTarget
   3:self01   lgCtDlyOff       :geLo
   3:self01   lgCtDlyOn        :geLo
   3:self01   lgCtOff          :geLo
   3:self01   lgCtOn           :geLo
   3:self01   lgCtValHi        :100
   3:self01   lgCtValLo        :50
   3:self01   lgMultiExec      :on
   3:self01   lgOffDly         :0 s
   3:self01   lgOffTime        :111600 s
   3:self01   lgOffTimeMode    :absolut
   3:self01   lgOnDly          :0 s
   3:self01   lgOnTime         :111600 s
   3:self01   lgOnTimeMode     :absolut
   3:self01   lgSwJtDlyOff     :off
   3:self01   lgSwJtDlyOn      :off
   3:self01   lgSwJtOff        :off
   3:self01   lgSwJtOn         :dlyOff
   3:self01   shActionType     :jmpToTarget
   3:self01   shCtDlyOff       :geLo
   3:self01   shCtDlyOn        :geLo
   3:self01   shCtOff          :geLo
   3:self01   shCtOn           :geLo
   3:self01   shCtValHi        :100
   3:self01   shCtValLo        :50
   3:self01   shOffDly         :0 s
   3:self01   shOffTime        :111600 s
   3:self01   shOffTimeMode    :absolut
   3:self01   shOnDly          :0 s
   3:self01   shOnTime         :111600 s
   3:self01   shOnTimeMode     :absolut
   3:self01   shSwJtDlyOff     :off
   3:self01   shSwJtDlyOn      :off
   3:self01   shSwJtOff        :off
   3:self01   shSwJtOn         :dlyOff
   3:self02   lgActionType     :jmpToTarget
   3:self02   lgCtDlyOff       :geLo
   3:self02   lgCtDlyOn        :geLo
   3:self02   lgCtOff          :geLo
   3:self02   lgCtOn           :geLo
   3:self02   lgCtValHi        :100
   3:self02   lgCtValLo        :50
   3:self02   lgMultiExec      :on
   3:self02   lgOffDly         :0 s
   3:self02   lgOffTime        :111600 s
   3:self02   lgOffTimeMode    :absolut
   3:self02   lgOnDly          :0 s
   3:self02   lgOnTime         :111600 s
   3:self02   lgOnTimeMode     :absolut
   3:self02   lgSwJtDlyOff     :on
   3:self02   lgSwJtDlyOn      :on
   3:self02   lgSwJtOff        :dlyOn
   3:self02   lgSwJtOn         :on
   3:self02   shActionType     :jmpToTarget
   3:self02   shCtDlyOff       :geLo
   3:self02   shCtDlyOn        :geLo
   3:self02   shCtOff          :geLo
   3:self02   shCtOn           :geLo
   3:self02   shCtValHi        :100
   3:self02   shCtValLo        :50
   3:self02   shOffDly         :0 s
   3:self02   shOffTime        :111600 s
   3:self02   shOffTimeMode    :absolut
   3:self02   shOnDly          :0 s
   3:self02   shOnTime         :111600 s
   3:self02   shOnTimeMode     :absolut
   3:self02   shSwJtDlyOff     :on
   3:self02   shSwJtDlyOn      :on
   3:self02   shSwJtOff        :dlyOn
   3:self02   shSwJtOn         :on

Wie müsste ich die Klammern den setzen wenn es nicht über Register funktioniert..?
Titel: Aw: HM-LC-Sw1PBU-FM Timer und blinken bevor Timer ende...
Beitrag von: martinp876 am 02 Oktober 2013, 15:19:03
dann sieht es mit dem Blinken schlecht aus.
Die Register für short und long sind immer gleich (ausser multiexec für long)

somit hast du
condition werte - bewerten und filtern trigger-eingänge. Uninteressant für dich
CtDlyOff :geLo
CtDlyOn :geLo
CtOff :geLo
CtOn :geLo
CtValHi :100
CtValLo :50

jumptabelle - was soll gemacht werden, wenn man im Zustand x ist und ein trigger kommt
ZitatActionType :jmpToTarget
SwJtDlyOff :off
SwJtDlyOn :off
SwJtOff :off
SwJtOn :dlyOff

Zeiten - wie lange soll man in einem Zustand bleiben, wenn kein weiterer Trigger kommt
ZitatOffDly :0 s
OffTime :111600 s
OnDly :0 s
OnTime :111600 s

das habe ich nie peobiert
ZitatOffTimeMode :absolut
OnTimeMode :absolut

du kannst einmal testen, was passiert wenn du  offDly hochsetzt.aber warscheinlich blinkt es nicht.
 wenn du OnTime und OffTime auf ungleich 111600 setzt wird es immer blinken - aber eben nicht mehr aufhören.


ein template wäre
set hm templateDef mytemplate ""  "my template" SwJtDlyOn:off SwJtOff:off

Gruss Martin
Titel: Aw: HM-LC-Sw1PBU-FM Timer und blinken bevor Timer ende...
Beitrag von: der-Lolo am 02 Oktober 2013, 16:59:29
Ok, offDly hab ich probiert, du hast recht - es blinkt nicht...

Weiter oben meintest du ich könne eine Sequenz:
set ... off;sleep 0.2;set ... on-for-timer 60
nutzen, aber auch das funktionierte ja nicht - wegen Klammern meintest du...
Wie müsste ich die Klammern den setzen wenn es nicht über Register funktioniert..?

Wahrscheinlich steh ich mal wieder gewaltig auf der Leitung, es kann ja nicht so schwer sein...

Im Einsteiger pdf ist
define a7 at +*{3}00:00:02 set lamp on-for-timer 1 # drei mal blinken
(drei mal alle 2 Sekunden für 1 Sekunde einschalten).
Beschrieben, on-for-timer mag hm aber ja nicht.

Hat vielleicht noch jemand eine Idee?
Titel: Aw: HM-LC-Sw1PBU-FM Timer und blinken bevor Timer ende...
Beitrag von: martinp876 am 02 Oktober 2013, 19:34:04
wieso mag der SW1 on-for-timer nicht?
meinst du ein einfaches
set <entity> on-for-timer 2
?
das sollte gehen, bei eigentlich allen normalen licht schaltern. Es sollte auch in allen notifys verwendet werden können.
das Beispiel aus dem einsteigerdoc sollte so gehen (lamp gegen deine Lampe ersetzen).

Problem ist, wenn du zwischendurch das Licht einschaltest wird der timer weiter laufen und das licht wieder ausschalten. Du musst also den timer stoppen, wenn das Licht an bleiben soll.

probier doch
define nf notify bd_sw:on* {fhem "set bd_sw off";;\
 fhem "define t at +00:00:04 {fhem \"set bd_sw on-for-timer 6\" }"}


Zeiten selbst einstellen

Gruss Martin