Neues Modul 98_alarmclock ein Fhem Wecker

Begonnen von FlorianZ, 18 Dezember 2016, 19:03:23

Vorheriges Thema - Nächstes Thema

pwlr

Hallo Florian,

ZitatDie Mehrfachangabe für EventForAlarmOff und EventForSnooze kann ich kurzfristig mit einbauen.
Kommt mit dem nächsten Update.

Nach einem kurzen Test ist alles ok !

Danke für Deine Arbeit ! Ist schon toll, wie schnell Du auf die Anregungen reagierst !!!

Viele Grüße
Bernd

Fixel2012

Hi Florian,

kann pwlr nur zustimmen, super wie du hier auf user wünsche eingehst!

Eine bitte hätte ich noch, wäre nett wenn du es umsetzen könntest:

Und zwar wäre es praktisch, wenn man den Weekprofiles Namen geben könnte.

Beispielweise, wenn man oft zu verschiedenen Lokationen fährt und somit andere Weckzeiten hat. Dann würde ich gerne ein Weekprofile z.B. Hamburg nennen, und somit ganz einfach die entsprechende Weckzeit laden!

Wäre das umsetzbar?

Vielen Dank,

Fixel
Fhem 5.8 auf Raspi 3, HMLAN und 868MHz CUL mit einigen Komponenten, Z-Wave Rollladenaktoren, Tablet UI, 433 MHz CUL mit Baumarktsteckdosen und Temp Sensoren, Amazon Echo, Echo Dot, 2x SONOS  play1, 1x SONOS Connect AMP,  presence, HUE, Lightify

FlorianZ

Danke Danke  ::)

Was haltet ihr davon, die Namen Weekprofile_1, Weekprofile_2...... komplett zu entfernen?
also set <name> save <usereingabe>
Soweit wäre das kein Problem zum umsetzen.
Müsste dann "nur" mal recherchieren, wie ich die <usereingabe> wieder in ein dropdown
für set <name> load ..... bekomme.

P.A.Trick

Zitat von: FlorianZ am 10 Juni 2017, 18:21:04
Habe gerade eine neue Version eingecheckt.

Neu ist:

- Möglichkeit der Mehrfachangabe für EventForAlarmOff und EventForSnooze.
  Trenner ist Pipe |

- Neues Reading: AlarmToday
  Zeigt die heutige Weckzeit. Holiday und Vacation werden ausgewertet.

- Neues Reading: AlarmTomorrow
  Zeigt die morgige Weckzeit. Holiday und Vacation werden ausgewertet, wenn
  HolidayDevice und VacationDevice vom Typ holiday oder Calendar sind.

Gruß
Florian

Du bist ein Schatz! Vielen lieben Dank!
Cubietruck,RPI,QNAP Ts-419p+, FS20, FRITZ!DECT200, 7 MAX! Thermostate, 3 MAX! Fensterkontakte, Kodi, CUL V3.3, EM1000S, LW12, LD382, HUE, HM-CFG-USB-2, 1x HM-LC-SW1-FM, 2x HM-LC-SW2-FM, 2x HM-LC-Sw1PBU-FM, 3xHM-LC-Bl1PBU-FM,HM-SEC-RHS, 2xHM-SEC-SD,HM-WDS30-T-O, 3x HM-LC-Dim1TPBU-FM, RPI+AddOn

Fixel2012

Zitat von: FlorianZ am 12 Juni 2017, 20:57:36
Danke Danke  ::)

Was haltet ihr davon, die Namen Weekprofile_1, Weekprofile_2...... komplett zu entfernen?
also set <name> save <usereingabe>
Soweit wäre das kein Problem zum umsetzen.
Müsste dann "nur" mal recherchieren, wie ich die <usereingabe> wieder in ein dropdown
für set <name> load ..... bekomme.

Habe ich Prinzipiell keinen einwand, wie du schon sagst müsste man die vom user getroffene Eingabe anschließend auch wieder per load laden können  ;D
Fhem 5.8 auf Raspi 3, HMLAN und 868MHz CUL mit einigen Komponenten, Z-Wave Rollladenaktoren, Tablet UI, 433 MHz CUL mit Baumarktsteckdosen und Temp Sensoren, Amazon Echo, Echo Dot, 2x SONOS  play1, 1x SONOS Connect AMP,  presence, HUE, Lightify

pwlr

#95
moin,

ich bin ja total begeistert von diesem Modul und will mal eine kleine Anregung für den "Weckersound" geben. Vielleicht ist es ja für jemanden interessant.

Ich habe im Schlafzimmer ein HM-OU-CFM-PL für superwichtige Statusmeldungen und Alarme. Da auf der Speicherkarte reichlich Platz ist, habe ich meine "TOP-19" Musikfiles dort abgelegt und lasse mich nun per Musik wecken. Die Auswahl erfolgt durch eine Zufallszahl in einem userReadings. Gestoppt wird die Musikwiedergabe bei Snooze oder off per Peering zwischen dem Remote-Device und dem Mp3-Player des HM-OU-CFM-PL.

Der Code für das userReadings in meiner 99_xxx_Utils:
sub userReadings_21($$$) {
# ---------------- select a music-file for HM-OU-CFM-PL and start playing in a loop ----------
# Music-Filenumbers from 008 to 026 on alarm-device
# Alarm-Device defined by second parameter
# Lopp-Counter defined by third parameter
# Starting with attr userReadings music {userReadings_21($name,"Alarm_Mp3","255")}
# --------------------------------------------------------------------------------------------
my($name,$device,$count) = @_;
Log 3, "$name userReadings_21 Start";
my$returnValue=300;
my$states=ReadingsVal($name,"state","nothing");

#debug start
Log 4, "$name userReadings_21 $states $returnValue $device $count";
#debug end

if ($states eq 'Alarm is running') {$returnValue=int(rand(18)+8);fhem("set $device playTone $returnValue $count");Log 3, "$name selected music-file $returnValue for $device "};

Log 3, "$name userReadings_21 Ende";
return $returnValue;
}


Und die Defiition im Wecker. Alarm_Mp3 ist der Names meines Devices:

attr <name> userReadings music {userReadings_21($name,"Alarm_Mp3","255")}

Diese diversen Log-Befehle können wieder raus, war nur für die Entwicklung wichtig.

:)
Bernd

FlorianZ

Hallo Bernd,

klingt auch nach einer schönen Alternative zu Sonos.
Danke fürs teilen.

Gruß
Florian

pwlr

Moin,

ich habe Probleme, daher eine Frage :

Ich will mit einem Doppelklick auf eine Taste den EventForAlarmOff auslösen. Dazu nutze ich das Modul sequence. Ich bekomme es aber nicht hin, dass der Wecker drauf reagiert. Nach Commandref passt sequence aber auch nicht in die Syntax des Weckers, weil es kein Reading für den Trigger hat...
Kann man da vielleicht was machen oder mache ich einen Fehler ?

EventForAlarmOff    HM_3D5E10_Btn_04_sequence:trigger.*

Moin und viele Grüße !

Bernd

FlorianZ

Hallo Bernd,

Mit Sequenzen hab ich selber noch nicht gearbeitet. Müssen wir also ausprobieren.
Was steht denn im Event Monitor wenn du einen Doppelklick machst?

Gruß Florian

Prof. Dr. Peter Henning

Was ist denn mit "Taste" gemeint ?

Das sequence-Modul ist extrem einfach zu benutzen, es wäre also auch interessant zu wissen, wie genau das definiert wurde.

Und selbstverständlich kann man mit sequence auch beliebige Events auslösen.

LG

pah

pwlr

Moin,

ok, etwas mehr Informationen :
Device zur Auslösung ist ein HM-MOD-Em-8. Ein Kanal (Name: HM_3D5E10_Btn_04) soll bei einem doppeltem Tastendruck den Wecker abschalten. Aktuell habe ich im Test eine Version mit zwei Kanälen, die nacheinander innerhalb von 10 Sekunden gedrückt werden sollen (HM_3D5E10_Btn_04 und HM_3D5E10_Btn_03). Prinzipiell ist das aber egal. Der Ruhezustand bei beiden Kanälen ist open.


Internals:
   CFGFN
   DEF        HM_3D5E10_Btn_04:closed 2 HM_3D5E10_Btn_04:open 10 HM_3D5E10_Btn_03:closed
   IDX        0
   MAX        5
   NAME       HM_3D5E10_Btn_04_sequence
   NR         58644
   NTFY_ORDER 50-Wecker_aus
   RE         HM_3D5E10_Btn_04:closed
   STATE      active
   TYPE       sequence
   READINGS:
     2017-07-19 16:28:21   state           active
Attributes:
   comment    HM_3D5E10_Btn_04:closed 1 HM_3D5E10_Btn_04:open 1 HM_3D5E10_Btn_04:closed
   group      EMA,Wecker
   reportEvents 1
   room       -Nacht,Funktionen
   showtime   1
   triggerPartial 1


Dazu gibt es ein notify, welches auch immer brav triggert :


Internals:
   CFGFN
   DEF        HM_3D5E10_Btn_04_sequence:trigger.* set Led_15 led red
   NAME       Wecker_aus_notify
   NOTIFYDEV  HM_3D5E10_Btn_04_sequence
   NR         58906
   NTFY_ORDER 50-Wecker_aus_notify
   REGEXP     HM_3D5E10_Btn_04_sequence:trigger.*
   STATE      2017-07-19 16:28:21
   TYPE       notify
   READINGS:
     2017-07-19 10:32:28   state           active
Attributes:
   group      EMA,Wecker
   room       -Nacht,Funktionen


Die Definitionen für sequence sind also ok, der Trigger kommt und schaltet per notify die Led auf red.

Logentries :

2017-07-20 00:06:16 sequence HM_3D5E10_Btn_04_sequence partial_2 HM_3D5E10_Btn_04:closed HM_3D5E10_Btn_04:open
2017-07-19_16:27:06 HM_3D5E10_Btn_04_sequence trigger HM_3D5E10_Btn_04:closed HM_3D5E10_Btn_04:open HM_3D5E10_Btn_03:closed


Zeile 1 : Seqence ist unvollständig, es wurde nur eine Taste gedrückt. Das notify triggert nicht.
Zeile 2 : Sequence ist vollständig und notify triggert.

Bis hier alles ok. Schwierigkeiten habe ich, mit diesem Trigger den Wecker abzuschalten - also die richtige Definition in
attr <name> EventForAlarmOff oder auch
attr <name> EventForSnooze  zu finden.
   
attr <name> EventForAlarmOff HM_3D5E10_Btn_04_sequence:trigger.*
geht leider nicht.

Nach Commandref kann das Weckermodul


EventForAlarmOff
Fhem-event to end the alarm.
There are 2 possibilities:
1.Trigger on state.
<devicename>:<state> Example: attr <name> EventForAlarmOff Taster:off
2.Trigger on reading.
<devicename>:<readingname>: <value> Example: attr <name> EventForAlarmOff Taster:cSceneSet: on


State von sequence beinhaltet activ und ein anderes Reading mit Triggerinformationen gibt es nicht. Formell ist die Nichtfunktion also erklärt, aber das hilft nicht. Als Workaround könnte ich über state eines Dummy oder der Led den Wecker abschalten.

Vielleicht ist eine Erweiterung im Weckermodul möglich ?

Schon mal vielen Dank vorab !

Bernd

FlorianZ

#101
Hallo Bernd,

Ich habe das bei mir jetzt mit sequence mal nachgebaut.
Versuche mal bitte folgendes:

Sequence:

define HM_3D5E10_Btn_04_sequenc sequence HM_3D5E10_Btn_04:closed 2 HM_3D5E10_Btn_04:open 10 HM_3D5E10_Btn_03:closed
attr HM_3D5E10_Btn_04_sequenc triggerPartial 1
attr HM_3D5E10_Btn_04_sequenc reportEvents 0


Und bei Alarmclock:

attr <name> EventForAlarmOff HM_3D5E10_Btn_04_sequenc:trigger


Ein notify ist dafür nicht nötig.
Bei mir funktioniert das so.

Gruß
Florian

Fixel2012

Hi Florian,

ich hatte mal den Wunsch geäußert, dass man die gespeicherten Profile selbst benennen/umbenennen kann.

Hast du schon versucht dies um zu setzen?

Würde mich immer noch für diese Änderung interessieren!   :P

Also wenn sich da was deiner seits machen lässt, fände ich das super!


Schon mal besten Dank,

Fixel
Fhem 5.8 auf Raspi 3, HMLAN und 868MHz CUL mit einigen Komponenten, Z-Wave Rollladenaktoren, Tablet UI, 433 MHz CUL mit Baumarktsteckdosen und Temp Sensoren, Amazon Echo, Echo Dot, 2x SONOS  play1, 1x SONOS Connect AMP,  presence, HUE, Lightify

pwlr

#103
Moin Florian,

super, geht !! ;D

define HM_3D5E10_Btn_04_sequence sequence HM_3D5E10_Btn_04:closed 2 HM_3D5E10_Btn_04:open 10 HM_3D5E10_Btn_04:closed
attr HM_3D5E10_Btn_04_sequence triggerPartial 1
attr HM_3D5E10_Btn_04_sequence reportEvents 0

attr <name> EventForSnooze HM_3D5E10_Btn_04:closed
attr <name> EventForAlarmOff HM_3D5E10_Btn_04_sequence:trigger

1 x Taste drücken = Snooze und 2 x Taste drücken AlarmOff

VIELEN DANK für Deine Hilfe  !

Bernd



FlorianZ

Hallo Fixel,

in meiner Testversion hab ich das schon zum Teil umgesetzt.
Wenn es gut läuft, gibts am WE ein Update dafür.

Gruß
Florian