Neues Modul 98_alarmclock ein Fhem Wecker

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

Vorheriges Thema - Nächstes Thema

balli1187

Hallo zusammen,

ich hoffe ich bin hier richtig mit meinem Anliegen....

ich nutze seit kurzem auch das Modul und finde es super! Recht einfach und übersichtlich und dabei dennoch viele Funktionen.
Ich hätte dennoch zwei Wünsche bzw. Verbesserungsvorschläge:

1. Es wäre super, wenn es die Möglichkeit geben würde mehrere PreAlarm-/Alarm-/AlarmOff usw. Routinen zu vergeben. Hintergrund ist der dass meine Frau in Schichten arbeitet und sich zum Beispiel bei Nachtschichten nicht sooo viel Zeit nach dem Aufstehen nimmt, wie sonst. Daher wäre es gut, wenn man dort je nachdem was man so als Weckzeit einstellt auch unterschiedliche Abläufe definiert. Das könnte natürölich schnell sehr unübersichtlich werden, da es doch viele Routinen gibt aber vielleicht kann man das so ähnlich gestalten, wie beim DOIF mit den wait-Zeiten, indem man die unterschiedlichen Kommandos klammert und dann per Attribut festlegt, wann welcher Teil genutzt werden soll. Ist nur so eine Idee.

2. Der zweite Wunsch ist sehr viel einfacher (oder klingt zumindest  einfacher). Es wäre schön beim "set AlarmTime" nicht nur Tage zusetzen, sondern ein "nextAlarm" so wie bei "skip". Das würde es vermutlich etwas handlicher machen, wenn man nicht unbedingt feste Weckzeiten hat oder das in andere Abläufe (zum Beispiel mit den Echos) einzubinden.

Grüße, Stephan
FHEM auf QNAP im docker, nanoCUL per ser2net an VU+, 2x Echo Dot, 3x HM-ES-PMSw1-Pl, 3x HM-LC-Bl1PBU-FM, 6x Sonoff Basic, div. "Shelly Eigenbauten" von Papa Romeo, ESPRGBWW-Controller, ...
Projekte: Smart Mirror in Spiegelschrank auf RPi Zero

Rudy

Zitat von: balli1187 am 22 Januar 2019, 11:51:55
1. Es wäre super, wenn es die Möglichkeit geben würde mehrere PreAlarm-/Alarm-/AlarmOff usw. Routinen zu vergeben. Hintergrund ist der dass meine Frau in Schichten arbeitet und sich zum Beispiel bei Nachtschichten nicht sooo viel Zeit nach dem Aufstehen nimmt, wie sonst. Daher wäre es gut, wenn man dort je nachdem was man so als Weckzeit einstellt auch unterschiedliche Abläufe definiert. Das könnte natürölich schnell sehr unübersichtlich werden, da es doch viele Routinen gibt aber vielleicht kann man das so ähnlich gestalten, wie beim DOIF mit den wait-Zeiten, indem man die unterschiedlichen Kommandos klammert und dann per Attribut festlegt, wann welcher Teil genutzt werden soll. Ist nur so eine Idee.
Du könntest hierfür auch einfach mehrere Wecker definieren und je nach Schicht einen anderen aktivieren. Dann können die Routinen für jeden Zweck sauber einzeln definiert werden.

balli1187

Zitat von: Rudy am 22 Januar 2019, 20:45:12
Du könntest hierfür auch einfach mehrere Wecker definieren und je nach Schicht einen anderen aktivieren. Dann können die Routinen für jeden Zweck sauber einzeln definiert werden.
Ja das wäre ein Work-around.
Aber wenn ich dann das ganze mit meinem Echo kombinieren will, stellt sich wieder dann frage, wann die Weckzeiten in welchen Wecker übernommen werden soll...

Wäre dennoch eine Möglichkeit das Modul weiterzuentwickeln. Was sagt der Modulautor dazu?


Gesendet von iPhone mit Tapatalk
FHEM auf QNAP im docker, nanoCUL per ser2net an VU+, 2x Echo Dot, 3x HM-ES-PMSw1-Pl, 3x HM-LC-Bl1PBU-FM, 6x Sonoff Basic, div. "Shelly Eigenbauten" von Papa Romeo, ESPRGBWW-Controller, ...
Projekte: Smart Mirror in Spiegelschrank auf RPi Zero

binford6000

ZitatWäre dennoch eine Möglichkeit das Modul weiterzuentwickeln. Was sagt der Modulautor dazu?

Ich hänge mich hier mal dran.  8)

VG Sebastian

FlorianZ

Hallo zusammen,

zum Teil hatte ich die tagesabhängigen Routinen schon integriert, bin aber wieder davon abgekommen.
Die flexibelste Möglichkeit ist, in den Routinen auf die Perl-Ebene zu springen.

AlarmRoutine {if(ReadingsVal("Dummy_Schicht", "state", "") eq "on"){fhem("set Licht dim 50")};;elsif (ReadingsVal("Dummy_Schicht", "state", "") eq "off"){fhem("set Licht dim 20")};;}

So kann man für unterschiedliche Uhrzeiten, Tage ,Dummy, Calendar usw. verschiedene Routinen anlegen.

Gruß
Florian

balli1187

Mit der Perl-Ebene hatte ich bisher etwas Probleme in dem Modul - da wurde dann desöfteren nur der erste Befehl umgesetzt....

Ist aber vielleicht ein Anlass meine Synthax nochmal zu prüfen ;)

Wie stehst du zum set NextAlarm?


Gesendet von iPhone mit Tapatalk
FHEM auf QNAP im docker, nanoCUL per ser2net an VU+, 2x Echo Dot, 3x HM-ES-PMSw1-Pl, 3x HM-LC-Bl1PBU-FM, 6x Sonoff Basic, div. "Shelly Eigenbauten" von Papa Romeo, ESPRGBWW-Controller, ...
Projekte: Smart Mirror in Spiegelschrank auf RPi Zero

FlorianZ

Zitat von: balli1187 am 23 Januar 2019, 18:19:08
Wie stehst du zum set NextAlarm?
Ja gefällt mir.
Kommt mit ins Modul, aber nicht kurzfristig.(Nachwuchs  ;D )

Gruß
Florian

balli1187

Cool!
Herzlichen Glückwunsch ;-)

Wenn's "demnächst" was wird, freut man sich hier auch, also kein Stress.


Gesendet von iPhone mit Tapatalk
FHEM auf QNAP im docker, nanoCUL per ser2net an VU+, 2x Echo Dot, 3x HM-ES-PMSw1-Pl, 3x HM-LC-Bl1PBU-FM, 6x Sonoff Basic, div. "Shelly Eigenbauten" von Papa Romeo, ESPRGBWW-Controller, ...
Projekte: Smart Mirror in Spiegelschrank auf RPi Zero

balli1187

Zitat von: FlorianZ am 23 Januar 2019, 18:15:06
Hallo zusammen,

zum Teil hatte ich die tagesabhängigen Routinen schon integriert, bin aber wieder davon abgekommen.
Die flexibelste Möglichkeit ist, in den Routinen auf die Perl-Ebene zu springen.
Moin, ich probiere nun schon seit ein paar Tagen das ganze auf der Perl-Schiene umzusetzen aber es will mir nicht gelingen... Vielleicht kann ja mal jemand einen Blick darauf werfen

{if((strftime('%w', localtime) ne
ReadingsVal('Anika_wecker','HomeOffice1','')) or (strftime('%w', localtime) ne ReadingsVal('Anika_wecker','HomeOffice2','')) ) {fhem("set Treppe.*_LED on; set Wz.RollladenLinks 100; set doif_AufWiedersehen active")}
else {fhem("set Treppe.*_LED on")}}


ich bekommen (in dieser Version) die Fehlermeldung
Unkown command {if((strftime('%w',, try help.
FHEM auf QNAP im docker, nanoCUL per ser2net an VU+, 2x Echo Dot, 3x HM-ES-PMSw1-Pl, 3x HM-LC-Bl1PBU-FM, 6x Sonoff Basic, div. "Shelly Eigenbauten" von Papa Romeo, ESPRGBWW-Controller, ...
Projekte: Smart Mirror in Spiegelschrank auf RPi Zero

balli1187

Okay, ich bin dem ganzen weiter nachgegangen.
Kann es sein, dass die AlarmRouti e nicht mit Zeilenumbrüchen klarkommt?!?

Ich hatte es wie beim doif/notify/at etwas leserlicher gestaltet und nicht lang hintereinander weg geschrieben....


Gesendet von iPhone mit Tapatalk
FHEM auf QNAP im docker, nanoCUL per ser2net an VU+, 2x Echo Dot, 3x HM-ES-PMSw1-Pl, 3x HM-LC-Bl1PBU-FM, 6x Sonoff Basic, div. "Shelly Eigenbauten" von Papa Romeo, ESPRGBWW-Controller, ...
Projekte: Smart Mirror in Spiegelschrank auf RPi Zero

FlorianZ

Zitat von: balli1187 am 01 Februar 2019, 18:47:52
Okay, ich bin dem ganzen weiter nachgegangen.
Kann es sein, dass die AlarmRouti e nicht mit Zeilenumbrüchen klarkommt?!?

Ich hatte es wie beim doif/notify/at etwas leserlicher gestaltet und nicht lang hintereinander weg geschrieben....


Gesendet von iPhone mit Tapatalk

Kannst du es bitte mal mit doppelten Semikolon ;; probieren

Gruß Florian

balli1187

#176
Das escapen funktioniert - wenn ich mir die RAW-Definition anschaue wird das ";" durch ";;" ersetzt. Damit funktioniert die Routine dann auch, wenn ich sie in die cmd-line schreibe.

Nur die Zeilenumbrüche (evtl. auch Tabs) machen Probleme.

Edit:
Anscheinend müssen es wohl 4 Semikolon sein... nachdem ich ";;" im Editor-Fenster eingegeben habe, funktionierte es jedenfalls. Danke für die Hilfe.

Wäre es möglich das Eingabefeld so umzustellen, dass es wie beim DEF-Editor läuft? Dann müsste man sich als User um diese Geschichten nicht sorgen.

Gesendet von iPhone mit Tapatalk
FHEM auf QNAP im docker, nanoCUL per ser2net an VU+, 2x Echo Dot, 3x HM-ES-PMSw1-Pl, 3x HM-LC-Bl1PBU-FM, 6x Sonoff Basic, div. "Shelly Eigenbauten" von Papa Romeo, ESPRGBWW-Controller, ...
Projekte: Smart Mirror in Spiegelschrank auf RPi Zero

linuzer

Hallo FlorianZ,

herzlichen Dank für das tolle Modul!
Ich bin echt begeistert über die klare Struktur -- viel besser als das unübersichtliche Residence-Wakeuptimer-Konstrukt! Dieses ist jetzt nach unerklärlichen Fehlern komplett rausgeflogen.

Da ich mir auch ein "NextRun"-Reading wünschen würde, Du aber aus sehr verständlichen Gründen grade "etwas" wenig Zeit haben dürftest...
Zitat von: FlorianZ am 23 Januar 2019, 18:30:20
...(Nachwuchs  ;D )

...habe ich mir jetzt mal mit einem UserReading geholfen:
NextRun {
if (time gt time_str2num(strftime("%Y-%m-%d", localtime)." ".ReadingsVal("TomWecker", "AlarmToday", 0).":00")) {
ReadingsVal("TomWecker", "AlarmTomorrow", 0);
} else {
ReadingsVal("TomWecker", "AlarmToday", 0);
}
}


Vielleicht hilft das ja sogar als Grundlage für eine Implementierung irgendwann im Modul... ;)

VG linuzer

linuzer

Vielleicht darf ich auch noch eine Idee einbringen:

Es wäre cool, wenn man bereits "von aussen" die Weckzeit stellen/verändern könnte, also wenn es in der DeviceOverview eine Combobox gäbe, mit der sich z.B. "AlarmTime_Weekdays" -- oder noch besser: das bereits angedachte höher priorisierte einmalige NextRun -- verändern liesse.

Ich habe bisher keinen Weg gefunden das irgendwie mit FHEM-Boardmitteln hinzukriegen (ausser natürlich einen Dummy oder ReadingsProxy drüber zu stülpen...)

VG

Nitaro

Hallo zusammen,

kann mir jemand einen Hinweis geben wie man die Weckzeiten im tablet UI einstellen kann ?

Danke
Nitaro