FHEM Forum

FHEM - Hausautomations-Systeme => Unterstützende Dienste => Thema gestartet von: FlorianZ am 18 Dezember 2016, 19:03:23

Titel: Neues Modul 98_alarmclock ein Fhem Wecker
Beitrag von: FlorianZ am 18 Dezember 2016, 19:03:23
Hallo zusammen,

Anbei mein erstes Modul 98_alarmclock.
Ja es ist ein Fhem Wecker  :D
Wenn es jemand testen möchte:


Define

define <name> alarmclockSet


   ⦁   AlarmTime(1_Monday|2_Tuesday|3_Wednesday|4_Thursday|5_Friday|6_Saturday|7_Sunday|8_Holiday|9_Vacation)
   setzt für jeden Tag eine Weckzeit. Format ist HH:MM
   Beispiel: set <name> AlarmTime1_Monday 06:35[/li][/list]
   ⦁   AlarmTime_Weekdays
   setzt für jeden Werktag die gleiche Weckzeit. Format ist HH:MM
   Beispiel: set <name> AlarmTime_Weekdays 05:50
   ⦁   AlarmTime_Weekend
   setzt für Samstag und Sonntag die gleiche Weckzeit. Format ist HH:MM
   Beispiel: set <name> AlarmTime_Weekend 09:30
   ⦁   AlarmOff(1_Monday|2_Tuesday|3_Wednesday|4_Thursday|5_Friday|6_Saturday|7_Sunday|8_Holiday|9_Vacation|Weekdays|Weekend|All)
   setzt die Weckzeit des entsprechenden Tages auf off.
   ⦁    save(Weekprofile_1|Weekprofile_2|Weekprofile_3|Weekprofile_4|Weekprofile_5)
         speichert die aktuellen Weckzeiten
   ⦁    load(Weekprofile_1|Weekprofile_2|Weekprofile_3|Weekprofile_4|Weekprofile_5)
        lädt ein Profil mit Weckzeiten
   ⦁    skip(NextAlarm|None)
        überspringt den nächsten Alarm.
   ⦁    stop Alarm
        Ein laufender Alarm wird gestoppt.
   ⦁   disable(1|0)
   Deaktiviert/Aktiviert den Wecker.

Attribute

   ⦁   AlarmRoutine
   Eine durch Semikolon ( ; ) getrennte Liste, die Fhem zur Alarmzeit ausführen soll.
   Beispiel: attr <name> AlarmRoutine set Licht on;set Radio on
   ⦁   AlarmRoutineOff
   Eine durch Semikolon ( ; ) getrennte Liste, die Fhem ausführen soll, um den Alarm (AlarmRoutine) zu beenden.
   Beispiel: attr <name> AlarmRoutineOff set Licht off;set Radio off
   ⦁   EventForAlarmOff
   Hier wird festgelegt, durch welches Fhem-Event der Alarm beendet werden soll.
   Ich nutze hierzu einen Taster auf dem Nachtkästchen.
   Es gibt 2 Möglichkeiten:
      1. Auf state eines Device zu triggern   =>    <devicename>:<state>
      Beispiel: attr <name> EventForAlarmOff Taster:off
      2. Auf ein Reading eines Device zu triggern   =>   <devicename>:<readingname>: <value>
      !! Nach dem readingname: kommt vor value ein Leerzeichen!!
      Beispiel: attr <name> EventForAlarmOff Taster:cSceneSet: on
   ⦁   EventForSnooze
   Hier wird festgelegt, durch welches Fhem-Event der Alarm für die im attr SnoozeTimeInSec eingestellte Zeit
   unterbrochen werden soll.
   Die Syntax ist identisch zu EventForAlarmOff.
   Beispiel: attr <name> EventForSnooze Taster:cSceneSet: off
   ⦁   SnoozeTimeInSec
   Hier wird in Sekunden angegeben, wie lange der Alarm unterbrochen wird, wenn das EventForSnooze bei
   laufenden Alarm eintritt. Möglich ist von 1 bis 9999 Sekunden.
   Beispiel: attr <name> SnoozeTimeInSec 240
   Im Beispiel wird nach 4 Minuten die AlarmRoutine wieder ausgeführt.
   ⦁   PreAlarmRoutine
   Eine durch Semikolon ( ; ) getrennte Liste, die Fhem vor der Alarmzeit ausführen soll.
   Beispiel: attr <name> PreAlarmRoutine set Licht dim 30;set ......
   ⦁   SnoozeRoutine
   Eine durch Semikolon ( ; ) getrennte Liste, die Fhem bei Snooze ausführen soll.
   Beispiel: attr <name> SnoozeRoutine set Licht dim 10;set ......
   ⦁   PreAlarmTimeInSec
   Hier wird in Sekunden angegeben wann die PreAlarmRoutine gestartet werden soll.
   Die PreAlarmTimeInSec wird von der AlarmTime subtrahiert.Möglich ist von 1 bis 9999 Sekunden.
   Beispiel: attr <name> PreAlarmTimeInSec 300
   Im Beispiel wird 5 Minuten vor dem regulären Alarm die PreAlarmRoutine ausgeführt.
   ⦁   HardAlarmRoutine
   Eine durch Semikolon ( ; ) getrennte Liste, die ausgeführt wird, wenn während eines laufenden Alarms
   nach vorgegebener Zeit (attr HardAlarmTimeInSec) kein  EventForAlarmOff  oder EventForSnooze eintritt.
   Beispiel: attr <name> HardAlarmRoutine set Sonos_Schlafzimmer Volume 40;set Licht dim 90
   ⦁   HardAlarmTimeInSec
   Hier wird in Sekunden angegeben, wie lange der Alarm "laufen" darf, bis HardAlarmRoutine gestartet wird.
   Möglich ist von 1 bis 9999 Sekunden.
   Beispiel: attr <name> HardAlarmTimeInSec 300
   ⦁   OffRoutine
   Eine durch Semikolon ( ; ) getrennte Liste, die zur OffDefaultTime ausgeführt wird, sollte die AlarmTime für den entsprechenden Tag auf off stehen.
   Beispiel: attr <name> OffRoutine set Heizung on
   ⦁   OffDefaultTime
   Angabe der Default Zeit für die OffRoutine. Format ist HH:MM
   Beispiel: attr <name> OffDefaultTime 07:30
   Im Beispiel wird, wenn an diesen Tag die AlarmTime auf off steht, um 07:30 die OffRoutine gestartet.
   ⦁   MaxAlarmDurationInSec
   Hier wird optional in Sekunden angegeben, nach welcher Zeit, der laufende Alarm automatisch gestoppt wird.
   Beispiel: attr <name> MaxAlarmDurationInSec 120
   ⦁    HolidayDevice
        Name des zu überwachenden holiday device.
        Es gibt 3 Möglichkeiten:
                 1. HolidayDevice des Typs Holiday
                 attr <name> HolidayDevice <devicename>
                 AlarmTime 8_Holiday greift wenn state nicht none ist.
                 2. Auf state eines Device. Bsp. Dummy als HolidayDevice
                 attr <name> HolidayDevice <devicename>:<value>
                 <value> stellt hierbei den Wert für Urlaub dar und steht im Reading state.
                 Bsp.: attr <name> HolidayDevice Mein_Urlaubs_Dummy:Urlaub
                 Hier greift die AlarmTime 8_Holiday wenn der state des Dummy den Wert Urlaub besitzt.
                 3. Auf ein Reading eines Device.
                 attr <name> HolidayDevice <devicename>:<readingname>: <value>
                 <value> stellt den Wert für Urlaub dar und steht im Reading <readingname>.
                 Bsp.: attr <name> HolidayDevice Mein_Urlaubs_Dummy:Heute: Urlaub
        Getrennt durch | (pipe) können mehrere HolidayDevice angegeben werden.
   ⦁   HolidayCheck
        1 aktiviert
        0 deaktiviert
   ⦁   HolidayDays
        Hier kann man optional angeben, an welchen Tagen Holiday greifen darf.
        Beispiel:
        attr <name> HolidayDays 1|2|3|4|5
        Holiday würde nur an Wochentagen greifen
        Default ist: 1|2|3|4|5|6|7
   ⦁    VacationDevice
        Name des zu überwachenden vacation device.
        Es gibt 3 Möglichkeiten:
                 1. VacationDevice des Typs Holiday
                 attr <name> VacationDevice <devicename>
                 AlarmTime 9_Vacation greift wenn state nicht none ist.
                 2. Auf state eines Device. Bsp. Dummy als VacationDevice
                 attr <name> VacationDevice <devicename>:<value>
                 <value> stellt hierbei den Wert für Ferien dar und steht im Reading state.
                 Bsp.: attr <name> VacationDevice Mein_Ferien_Dummy:Ferien
                 Hier greift die AlarmTime 9_Vacation wenn der state des Dummy den Wert Ferien besitzt.
                 3. Auf ein Reading eines Device.
                 attr <name> VacationDevice <devicename>:<readingname>: <value>
                 <value> stellt den Wert für Ferien dar und steht im Reading <readingname>.
                 Bsp.: attr <name> VacationDevice Mein_Ferien_Dummy:Heute: Ferien
        Getrennt durch | (pipe) können mehrere VacationDevice angegeben werden.
   ⦁   VacationCheck
        1 aktiviert
        0 deaktiviert
   ⦁   VacationDays
        Hier kann man optional angeben, an welchen Tagen Vacation greifen darf.
        Beispiel:
        attr <name> VacationDays 1|2|3|4|5
        Vacation würde nur an Wochentagen greifen
        Default ist: 1|2|3|4|5|6|7
   ⦁    PresenceDevice
        Name eines presence device.
        Es gibt 3 Möglichkeiten:
                 1. PresenceDevice des Typs PRESENCE
                 attr <name> PresenceDevice <devicename>
                 Alarmclock storniert den anstehenden Alarm, wenn state den Wert absent besitzt.
                 2. Auf state eines Device. Bsp. Dummy als PresenceDevice
                 attr <name> PresenceDevice <devicename>:<value>
                 <value> stellt hierbei den Wert für "absent" dar und steht im Reading state.
                  Bsp.: attr <name> PresenceDevice Mein_Presence_Dummy:absent
                  Alarmclock storniert den anstehenden Alarm,wenn der state des Dummy den Wert absent besitzt.
                 3. Auf ein Reading eines Device.
                 attr <name> PresenceDevice <devicename>:<readingname>: <value>
                 <value> stellt den Wert für "absent" dar und steht im Reading <readingname>.
                  Bsp.: attr <name> PresenceDevice Mein_Presence_Dummy:Bewohner1: Abwesend
        Getrennt durch | (pipe) können mehrere PresenceDevice angegeben werden.
   ⦁   PresenceCheck
        1 aktiviert
        0 deaktiviert
   ⦁   disable
        disable 1 deaktiviert alle Alarme
        disable 0 aktiviert diese wieder



state

   ⦁   OK
   Kein Alarm heute. Nächster Check um Mitternacht.
   ⦁   next Alarm at HH:MM
   Wird ab Mitternacht gesetzt, wenn heute ein Alarm ansteht.
   ⦁   PreAlarm is running
   Die PreAlarmRoutine wurde ausgeführt.
   ⦁   Alarm is running
   Der Alarm hat gestartet und die Routine wird ausgeführt.
   ⦁   Alarm is stopped
   Alarm wurde durch EventForAlarmOff gestoppt.
   ⦁   Snooze for XX sec
   EventForSnooze hat den Alarm unterbrochen und wird nach xx Sekunden wieder ausgeführt.
   ⦁   OffRoutine is running
   Die OffRoutine wurde gestartet.
   ⦁   next OffRoutine at HH:MM
   Wird ab Mitternacht gesetzt, wenn heute kein Alarm ansteht aber das Attribut OffDefaultTime gesetzt wurde .
   ⦁   deactivated
   alarmclock wurde durch disable 1 deaktiviert .
   ⦁   skip next Alarm
   Der nächste Alarm wird übersprungen .


Über Feedback würde ich mich freuen.

Gruß
Florian

## 2017-05-05  ##
98_alarmclock ist jetzt im FHEM Repository und wird per Update verteilt


Titel: Antw:Neues Modul 98_alarmclock noch ein Fhem Wecker
Beitrag von: Devender am 21 Dezember 2016, 21:00:16
Hi Florian,

ich bin jetzt mal dazu gekommen dein Modul bei mir einzurichten. Aktuell läuft mein Wecker noch über einen Weekdaytimer.
Ich finde es ganz gut, dass man beim Wecken eben auch Dinge tun kann wie Radio on etc.
Aktuell habe ich es mal rudimentär eingerichtet und gesagt, dass um 5:25 mein Sonossystem angeschaltet werden soll.

Was mir direkt aufgefallen ist:
Es gibt kein set AlarmTime "alle Wochentage" oder nur "Wochenende" und keine Möglichkeit über z.b die Eventmap und webCmd den Wecker komplett einmal auszuschalten.
Ebenso noch die Frage: Ich habe einen dummy: Zeitsteuerung. Nur wenn der den State "AN" hat soll der Wecker überhaupt greifen.
Wie muss ich das einstellen?
Bei meinem WeekDayTimer sage ich sowas: Sonos Mo-Fr|05:25|on Mo-Fr|05:45|off (Value("Zeitsteuerung") eq "an")
Mir gefällt es, dass ich bei deinem Modul nicht noch extra Code in die myUtils verlagern muss  :D

Vielleicht findest du ja Zeit für meine Fragen.

Danke schon mal und Gruß,
Dirk
Titel: Antw:Neues Modul 98_alarmclock noch ein Fhem Wecker
Beitrag von: Devender am 21 Dezember 2016, 21:15:03
noch eine Frage  ;D
Mein Alarm um 21:10 hat gerade angeschaltet und steht jetzt auf Alarm is running.
Wie geht das jetzt wieder aus, wenn ich nichts weiter definiere?

Ziel wäre (für morgens): Wecker schaltet um 5:25 das Sonos ein und gibt mir eine Sprachdurchsage (funktioniert soweit im Test)
Nach 10 Minuten bekomme ich eine weitere Meldung mit den Staumeldung (TTS ließt vor).
10 Minuten später ggf. durch Erkennung der Abwesenheit und der dadurch eingeschalteten Alarmanlage geht das Sonos dann wieder aus , sprich der Wecker hat seine Arbeit getan und sollte
nicht mehr auf running stehen.

Wie kann ich meinen Testalarm löschen? (Somit auch das Reading)?
Titel: Antw:Neues Modul 98_alarmclock noch ein Fhem Wecker
Beitrag von: FlorianZ am 21 Dezember 2016, 21:33:37
Hallo Dirk,

ein set für Wochentage und ein set für Wochenende finde ich gut. Werde ich am Freitag gleich mal mit einbauen.
Eine disable für den Wecker steht ebenfalls auf meiner todo.
Zitat
Nur wenn der den State "AN" hat soll der Wecker überhaupt greifen.
Das ist aktuell leider noch nicht möglich.
Hier überlege ich mir was, da ich den Wecker zukünftig auch gerne zb auf Urlaub überprüfen lassen möchte.

Gruß
Florian
Titel: Antw:Neues Modul 98_alarmclock noch ein Fhem Wecker
Beitrag von: Mitch am 21 Dezember 2016, 21:34:32
Hi Florian, Danke für das Modul.
Werde ich morgen testen.
Titel: Antw:Neues Modul 98_alarmclock noch ein Fhem Wecker
Beitrag von: Devender am 21 Dezember 2016, 21:38:49
Super Danke dir!
Stelle mich gerne als Tester zur Verfügung  ;)

Morgen ist der erste Livebetrieb um 05:25!
Titel: Antw:Neues Modul 98_alarmclock noch ein Fhem Wecker
Beitrag von: FlorianZ am 21 Dezember 2016, 21:45:40
der Wecker wartet jetzt bei state "Alarm is running" auf ein Event, dass mit dem Attribut EventForAlarmOff gesetzt wird, um den Wecker zu beenden.
Du kannst durch jedes Device bzw. Reading den Wecker stoppen lassen. Z.b. auch durch einen Dummy .
Alternativ kannst du auch auf deinen Sonos triggern lassen wenn der auf pause geht, da das Event nur bei state Alarm is running berücksichtigt wird.
attr <name> EventForAlarmOff Sonos_Schlafzimmer:transportState: STOPPED
Gruß
Florian

Titel: Antw:Neues Modul 98_alarmclock noch ein Fhem Wecker
Beitrag von: FlorianZ am 23 Dezember 2016, 17:59:30
Hallo zusammen,

Erstes Update von 98_alarmclock auf Version 0.0.2
Modul und Beschreibung sind im 1. Beitrag aktualisiert.

Gruß
Florian
Titel: Antw:Neues Modul 98_alarmclock noch ein Fhem Wecker
Beitrag von: Devender am 23 Dezember 2016, 22:27:31
Salü Florian,

danke für deine Anpassung :-)
MaxAlarmDurationInSec ist super. Da kann ich jetzt 20min einstellen und danach ist der Wecker auch wieder im Status OK ohne das eine OffRoutine passieren muss.  :)

Was muss mich machen, damit er nach Ablauf der eingestellen Weckzeit (in meinem Fall nach 20min) noch einen Befehl ausführt; In meinem Fall dann das Sonos wieder aus?

Das Disable funktionert soweit auch. Allerdings bleibt der Status deactivated wenn man das disable Attribute wieder löscht. Wenn eine eingestellte Weckzeit folgt funktionert er aber normal.
Dadurch erkennt man aber nicht unbedingt, ober der Wecker deaktiviert ist.

Besteht die Möglichkeit anstelle von disable 0/1 "an/aus" als set-Befehl hinzuzufügen?
set Wecker ausDamit könnte man dann eine Urlaubssteuerung einfacher abbilden und im Dashbord einfach schnell mal "aus" klicken  ;D
Über set Wecker AlarmOff kann ich aktuell ja nur Tageweise den Alarm deaktivieren.

Grüße,
Dirk
Titel: Antw:Neues Modul 98_alarmclock noch ein Fhem Wecker
Beitrag von: FlorianZ am 24 Dezember 2016, 10:09:46
Hallo Dirk,

Was muss mich machen, damit er nach Ablauf der eingestellen Weckzeit (in meinem Fall nach 20min) noch einen Befehl ausführt; In meinem Fall dann das Sonos wieder aus?
Wenn der Wecker gestoppt wird, wird die AlarmRoutineOff ausgeführt.
attr <name> AlarmRoutineOff set Sonos Stop
Das Disable funktionert soweit auch. Allerdings bleibt der Status deactivated wenn man das disable Attribute wieder löscht. Wenn eine eingestellte Weckzeit folgt funktionert er aber normal.
Dadurch erkennt man aber nicht unbedingt, ober der Wecker deaktiviert ist.
Vorerst bitte nach einen disable 1 ein disable 0 setzen => Timer werden sofort aufgerufen und gesetzt.

Besteht die Möglichkeit anstelle von disable 0/1 "an/aus" als set-Befehl hinzuzufügen?
Kommt mit dem nächsten Update.

Gruß
Florian
Titel: Antw:Neues Modul 98_alarmclock noch ein Fhem Wecker
Beitrag von: FlorianZ am 27 Dezember 2016, 16:07:33
So,

Nächstes Update ist fertig und im ersten Beitrag aktualisiert.  :D

Änderungen sind:
- Zusätzlich set AlarmOff für Weekdays,Weekend und All.

- Set disable um den Wecker über set zu deaktivieren
       => Es wird KEIN Alarm mehr ausgeführt. Auch keine OffRoutine!!

- Neues Attribut SnoozeRoutine
         => bei Snooze wird jetzt nicht mehr die AlarmOffRoutine sondern SnoozeRoutine ausgeführt.
         Bei mir hat sich im "live" Betrieb gezeigt, dass man besser 2 verschiedene Routinen hat.

- Commandref im Modul
        => Könnte bitte mal jemand Korrekturlesen  ;)

- Timer werden nach dem löschen des attr disable sofort gestartet.

Gruß
Florian
Titel: Antw:Neues Modul 98_alarmclock noch ein Fhem Wecker
Beitrag von: Devender am 27 Dezember 2016, 19:32:15
Salü Florian!

neue Version habe ich bei mir eingespielt. Heute morgen hat alles funktioniert  :D

Ich hab mal über die Commandref gelesen. Ist soweit verständlich geschrieben und vom Englisch passt es auch meiner Meinung nach.
Bleibt es bei NUR einer Englischen Doku oder willst du auch für die deutsche Commandref was setzen?

Dirk
Titel: Antw:Neues Modul 98_alarmclock noch ein Fhem Wecker
Beitrag von: FlorianZ am 27 Dezember 2016, 19:53:50
Hallo Dirk.

Das freut mich, dass das Modul bei dir funktioniert.  :)
Eine deutsche Doku kommt noch. Die englische Doku war für mich Prio 1, da es
für svn Voraussetzung ist.
Gibt es noch Probleme oder Wünsche?
Titel: Antw:Neues Modul 98_alarmclock noch ein Fhem Wecker
Beitrag von: Devender am 27 Dezember 2016, 19:58:05
*hm ich glaube aktuell passt für mich alles  ;D

Danke für deine Mühe und die schnelle Umsetzung der Wünsche!

btw. so ein wirkliches anderes Weckermodul wie deins habe ich hier noch nicht gefunden.
Titel: Antw:Neues Modul 98_alarmclock noch ein Fhem Wecker
Beitrag von: Esjay am 29 Dezember 2016, 12:42:54
Hallo Florian,
Ich dachte ich lasse mal ein Danke da.Ich bin gerade unterwegs,und kann das Modul noch nicht inststallieren,da es noch nicht per Update verfügbar ist. Hast du schon Pläne,wann es soweit ist?
Grüße
Titel: Antw:Neues Modul 98_alarmclock noch ein Fhem Wecker
Beitrag von: FlorianZ am 29 Dezember 2016, 20:47:23
Hallo,

Ich möchte noch etwas Feedback abwarten ob Fehler auftauchen.
Sollte es keine größeren Probleme mehr geben, werde ich anfragen ob ich
es einchecken darf.

Gruß
Florian
Titel: Antw:Neues Modul 98_alarmclock noch ein Fhem Wecker
Beitrag von: rabehd am 04 Januar 2017, 11:32:11
Hallo,
das klingt ganz interessant. Ich werde es bald mal testen. Bisher habe ich das durch eigene Programmierung gelöst. Vielleicht ist mein Hintergrund ein Input für die Weiterentwicklung.
Der Wecker ist bei uns eine kritische Sache. Für Schichtdienste zu verschiedenen Zeiten muss sicher geweckt werden. Deshalb  muss der auch ohne FHEM funktionieren. Licht, Heizung... darf FHEM übernehmen.
Wir haben deshalb auf jedem Nachttisch ein kleines Tablet als Radiowecker (App: Alarmdroid), welche per Tasker die Weckzeit an einen Dummy bei FHEM meldet. Dieser "bastelt"/ändert verschiedene at für Heizung, Licht...
Das Ausschalten/Ablauf des Wecker schreibt "Deaktiviert" in den jeweiligen Dummy, der das Deaktivieren der at auslöst.
Problem ist hierbei, dass der Tasker schon mal ein paar Minuten vor der Weckzeit deaktiviert. Als Lösung erlaube ich eine Deaktivierung der at nur erlaubt, wenn es mehr als 10 min vor dem Wecktermin erfolgt.

Unsere Anforderungen (sind auch umgesetzt):
-mehrere Wecker hintereinander
-Auslösen von Heizung, Licht... in Abhängigkeit von der Weckzeit (kein Licht nach Sonnenaufgang)
-Watchdog triggern
Titel: Antw:Neues Modul 98_alarmclock noch ein Fhem Wecker
Beitrag von: FlorianZ am 04 Januar 2017, 17:47:24
Hi,
vielen Dank für die Anregungen.
Wenn das Format der Uhrzeit passt, könntest du die Weckzeit mit Tasker auch im Wecker-Modul setzen.
(z.b. über set <name> AlarmTime_Weekdays 05:50)
So wäre auch der Prealarm zb für die Heizung möglich.
Zum deaktivieren des laufenden Alarms würde ich einen Dummy anlegen, der bei Alarm stop auf dem Android durch den Tasker getriggert wird.
Den Dummy dann im Modul für EventForAlarmOff nutzen.
Das EventForAlarmOff wird nur bei laufenden Alarm berücksichtigt.
Sollte also der Tasker zu früh triggern, würde der Alarm trotzdem starten.

Gruß
Florian





Titel: Antw:Neues Modul 98_alarmclock noch ein Fhem Wecker
Beitrag von: FlorianZ am 05 Januar 2017, 16:50:47
Kleines Update auf 0.0.4

Für alle Routine Attribute ist jetzt eine mehrzeilige Eingabe und Ansicht möglich.
Anbei 2 Screenshots.

Gruß
Florian
Titel: Antw:Neues Modul 98_alarmclock noch ein Fhem Wecker
Beitrag von: FlorianZ am 05 Januar 2017, 22:45:34
Ich Überlege gerade über die Sinnhaftigkeit, ein Holiday Device mit dem Wecker abzufragen,
um automatisch bei Urlaub oder Feiertag den Alarm zu deaktivieren.
Alles über Attribute konfigurierbar.
Gibt es dazu Meinungen oder Anregungen?

vg
Florian
Titel: Antw:Neues Modul 98_alarmclock noch ein Fhem Wecker
Beitrag von: Esjay am 06 Januar 2017, 08:48:49
Ich Überlege gerade über die Sinnhaftigkeit, ein Holiday Device mit dem Wecker abzufragen,
um automatisch bei Urlaub oder Feiertag den Alarm zu deaktivieren.
Alles über Attribute konfigurierbar.
Gibt es dazu Meinungen oder Anregungen?

vg
Florian

Guten Morgen.
Also wenn sich das vorher für das ganze Jahr konfigurieren läßt, wonach es sich anhört, würde ich schon einen Vorteil sehen.
Wie wäre es mit einer Wakeup Light funktion?

Grüße
Titel: Antw:Neues Modul 98_alarmclock noch ein Fhem Wecker
Beitrag von: FlorianZ am 06 Januar 2017, 10:57:40
Guten Morgen.
Ja würde sich dann das ganze Jahr konfigurieren lassen.
Hier habe ich jedoch noch Bedenken, da der Wecker ja eine sehr heikle Angelegenheit ist
und absolut vorhersehbar auslösen muss. Wenn er z.b. einen Tag nicht weckt weil ich ein
halbes Jahr vorher für diesen Tag Urlaub eingetragen habe und vergaß es zu ändern.  :o

Beim Wakeup Light wird es ohne "Usercode" vermutlich nicht funktionieren, da es schon sehr abhängig
vom jeweiligen Device ist.
Einige Dimmer kann man beispielsweise mit einer Zeitangabe dimmen.
Bei Z-Wave gibt es z.b. den Befehl dimWithDuration.
Das ganze könnte man dann über den PreAlarm starten lassen.

vg
Florian
Titel: Antw:Neues Modul 98_alarmclock noch ein Fhem Wecker
Beitrag von: Fixel2012 am 08 Januar 2017, 23:26:38
Hey,

erstmal danke für das Modul! Hört sich echt super an.

Bin gerade beim einrichten stehen geblieben, da ich ich gerne meine Nachttisch Lampe durch einen Homematic Dimmer langsam in einem Zeitraum von 5 Minuten auf 100 Prozent hoch dimmen lassen würde. Sowie den Sonos von Lautstärke 0 bis ca. 30.

Ist das auf eine einfache Weise lösbar? Ich als Anfänger würde es sonst mit mehreren Sleeps lösen.(set Sonos Volume 5, sleep 20, set Sonos Volume 10 ....)Ich denke das ist eher ungeeignet bzw. da gibt es sicher bessere Lösungen?


Viele Grüße

Fixel

Edit: Beim Testen ist mir aufgefallen, dass man leider keine zwei verschiedenen Weckzeiten pro Tag einstellen kann.

Außerdem wäre es echt cool, wenn man die ausgeschalteten Wecker wieder einschalten könnte. Kurz gesagt die Weckzeiten gespeichert werden. Bei festen Weckzeiten ist das sehr praktisch, da somit nach einer Woche Urlaub durch einen Knopfdruck die Wecker wieder aktiviert werden können. :o

Ansonsten eine klasse Arbeit! Ich hoffe ich stelle nicht zu hohe Anforderungen  :-\ ;D
Titel: Antw:Neues Modul 98_alarmclock noch ein Fhem Wecker
Beitrag von: FlorianZ am 09 Januar 2017, 17:34:24
Hallo Fixel

Bin gerade beim einrichten stehen geblieben, da ich ich gerne meine Nachttisch Lampe durch einen Homematic Dimmer langsam in einem Zeitraum von 5 Minuten auf 100 Prozent hoch dimmen lassen würde. Sowie den Sonos von Lautstärke 0 bis ca. 30.
Du könntest ein DOIF triggern. Im DOIF ein set Sonos VolumeU in Verbindung mit repeatcmd und repeatsame.
In der Commandref vom DOIF ist das gut erklärt.
Beim Sonos kann man denk ich auch ein VolumeStep setzen.

Edit: Beim Testen ist mir aufgefallen, dass man leider keine zwei verschiedenen Weckzeiten pro Tag einstellen kann.
Du kannst jederzeit mehrere Weckermodule mit verschiedenen Zeiten anlegen.

Außerdem wäre es echt cool, wenn man die ausgeschalteten Wecker wieder einschalten könnte. Kurz gesagt die Weckzeiten gespeichert werden. Bei festen Weckzeiten ist das sehr praktisch, da somit nach einer Woche Urlaub durch einen Knopfdruck die Wecker wieder aktiviert werden können. :o
Ein Wochenprofil mit Weckzeiten speichern steht auf meiner Todo.
Derzeit ist es aber auch schon möglich den Wecker zu deaktivieren,
set <name> disable 1und nach dem Urlaub
set <name> disable 0Die Weckzeiten bleiben so erhalten.

Gruß
Florian
Titel: Antw:Neues Modul 98_alarmclock noch ein Fhem Wecker
Beitrag von: Fixel2012 am 09 Januar 2017, 18:14:32
Super, danke für deine Antwort.

Werde mich mit dem dimmen nochmal erkunden!

Grüße Fixel
Titel: Antw:Neues Modul 98_alarmclock noch ein Fhem Wecker
Beitrag von: rhrawr am 20 Februar 2017, 00:28:29
Werde mich auch mal deinem Modul widmen. So etwas in der Art habe ich schon lange gesucht bzw. noch keine Zeit/Lust gehabt, mich an andere Lösungen zu machen. Werde bei Gelegenheit mal berichten. Danke schon einmal für deinen bisherigen Einsatz!

Gruß
Titel: Antw:Neues Modul 98_alarmclock noch ein Fhem Wecker
Beitrag von: MarkusHiba am 02 März 2017, 14:25:08
Hallo

sehr interessantes Modul.
Werde es heute mal testen.
Könnte man dazu ein widget basteln oder wie habt ihr das gelöst für tablet ui?
Titel: Antw:Neues Modul 98_alarmclock noch ein Fhem Wecker
Beitrag von: FlorianZ am 03 März 2017, 14:38:42
Könnte man dazu ein widget basteln oder wie habt ihr das gelöst für tablet ui?

Bei TabletUI kann ich dir leider nicht helfen, da ich selber nur smartVisu als Frontend benutze.
Vielleicht mal im Forumsbereich für TabletUI nachfragen?

Gruß
Florian
Titel: Antw:Neues Modul 98_alarmclock noch ein Fhem Wecker
Beitrag von: MarkusHiba am 03 März 2017, 14:55:28
Ja hab es schon erledigt werde es hier mal Posten. Aber ich habe festgestellt das die Readings nicht aktualisieren erst nach einen reload des Browsers welche Ursachen könnte das sein alle anderen Readings aktualisieren sofort.

Gesendet von meinem E6653 mit Tapatalk

Titel: Antw:Neues Modul 98_alarmclock noch ein Fhem Wecker
Beitrag von: Fixel2012 am 26 April 2017, 09:22:57
Hallo,
mir ist nach den ganzen Feiertagen aufgefallen, dass es praktisch wäre den Wecker mit $we zu verknüpfen.

Ich glaube dieses Thema wurde von Florian bereits angesprochen aber nicht umgesetzt.

Ich stelle mir das so vor, dass der Wecker bevor er Klingelt für die Wecker, die unter der Woche gestellt sind, kurz prüft ob $we gleich true oder false ist. Bei true sollte der Wecker dann ausgeschaltet oder auf die Wochenend-Weckzeit verwiesen werden.

Das ganze am besten konfigurierbar in Attributen, sowohl ob geprüft werden soll, sprich die Funktion überhaupt genutzt werden soll. Als auch was passieren soll, wenn $we gleich true ist. (2 Auswahl Möglichkeiten Weckzeit ganz aus, oder Weckzeit auf die WE Weckzeit verweisen.)

Ich bin mir nicht sicher, ob es viel Aufwand ist das Modul um die Abfragen und Attribute zu erweitern, zur Not kann ich mal versuchen ob ich das als Laie mit viel einlesen schaffe  ;D

Was haltet ihr von der Idee? Wäre noch jemand an dieser Funktion Interessiert?
Titel: Antw:Neues Modul 98_alarmclock noch ein Fhem Wecker
Beitrag von: FlorianZ am 26 April 2017, 11:06:49
Hallo Fixel,

Wenn ich es zeitlich schaffe, werde ich das am Wochenende mit einbauen.

Gruß
Florian


Titel: Antw:Neues Modul 98_alarmclock noch ein Fhem Wecker
Beitrag von: Fixel2012 am 26 April 2017, 11:17:34
Hallo Fixel,

Wenn ich es zeitlich schaffe, werde ich das am Wochenende mit einbauen.

Gruß
Florian

Super, Danke dir Vielmals!
Titel: Antw:Neues Modul 98_alarmclock noch ein Fhem Wecker
Beitrag von: FlorianZ am 28 April 2017, 23:00:31
Hier eine neue Version zum testen.

Neue Attribute:
HolidayDevice => Name des Holiday Device
HolidayCheck:1,0 => 1 aktiviert ; 0 deaktiviert

Neue set Befehle:
AlarmTime8_Holiday => Weckzeit für Tage, an denen der status des HolidayDevice nicht "none" ist.
AlarmOff 8_Holiday => Weckzeit für Holiday wird auf Off gesetzt. Hier würde die OffDefaultTime greifen.

Gruß
Florian
Titel: Antw:Neues Modul 98_alarmclock noch ein Fhem Wecker
Beitrag von: Fixel2012 am 29 April 2017, 00:14:43
Hier eine neue Version zum testen.

Neue Attribute:
HolidayDevice => Name des Holiday Device
HolidayCheck:1,0 => 1 aktiviert ; 0 deaktiviert

Neue set Befehle:
AlarmTime8_Holiday => Weckzeit für Tage, an denen der status des HolidayDevice nicht "none" ist.
AlarmOff 8_Holiday => Weckzeit für Holiday wird auf Off gesetzt. Hier würde die OffDefaultTime greifen.

Gruß
Florian

Hut ab, das ging schnell!

Danke dir, ich werde es die nächsten Tage Testen!

dankende Grüße Fixel
Titel: Antw:Neues Modul 98_alarmclock noch ein Fhem Wecker
Beitrag von: FlorianZ am 29 April 2017, 13:12:46
Update auf Version 0.0.6 mit der Möglichkeit 5 Wochenprofile zu speichern.

Gruß
Florian
Titel: Antw:Neues Modul 98_alarmclock noch ein Fhem Wecker
Beitrag von: Fixel2012 am 01 Mai 2017, 22:11:53
Hey Florian,

wollte dir nochmal eine kurze Rückmeldung geben:

Die eingestellte Zeit für Holiday Tage (abhängig vom Holday device) hat heute erfolgreich gegriffen und ich wurde zur gewünschten Zeit geweckt!

Das abspeichern verschiedener Profiles ist eine Super Idee!! Sehr nützlich wäre es wenn man diese auch noch individuell umbenennen könnte, aber das ist nur schönheits-verbunden  :P

Wenn sich Zeit findet würde ich mich über diese Erweiterung trotzdem freuen freuen!  ;D

Dankende Grüße

Fixel
Titel: Antw:Neues Modul 98_alarmclock noch ein Fhem Wecker
Beitrag von: Rudy am 02 Mai 2017, 19:37:31
Zunächst einmal: Ich finde das Modul klasse und bin gerade dabei meine bisherige Weckerlösung hierdurch zu ersetzen.

Ein paar Fragen und Anregungen habe ich jedoch noch:

1. Das Attribut "MaxAlarmDurationInSec". Was passiert nach Erreichen der hier eingestellten Zeit? Wird damit einfach der state von "Alarm is running" wieder auf "OK" zurückgesetzt? Wenn nein, wo liegt der Unterschied zu HardAlarm?

2. Der state gibt ja einige interessante Informationen wieder. Für die einfache Abfrage ob der Wecker aktiviert oder deaktivert (im Sinne von disable 0/1) ist, eignet er sich aber leider nicht. Ein weiteres Reading wie activestate oder ähnliches wäre hilfreich, auch für eine einfache Integragion in FTUI.

3. Es wäre schön wenn das Modul bald in FHEM direkt integriert werden würde.

4. Was muss ich bei HolidayDevice eingeben, damit die Urlaubsprüfung funktioniert (bspw. Device:Reading)? Und welchen Wert muss dieses mögliche Reading liefern, damit Urlaub ja bzw. nein erkannt wird?
Titel: Antw:Neues Modul 98_alarmclock noch ein Fhem Wecker
Beitrag von: Rudy am 02 Mai 2017, 19:41:29
Ja hab es schon erledigt werde es hier mal Posten. Aber ich habe festgestellt das die Readings nicht aktualisieren erst nach einen reload des Browsers welche Ursachen könnte das sein alle anderen Readings aktualisieren sofort.

Gesendet von meinem E6653 mit Tapatalk
Dieses Problem habe ich auch. Bei anderen Modulen kann man das Attribut event-on-change-reading setzen. Bei alarmclock jedoch (noch) nicht. Wäre das eine Lösung, dies zu integrieren?
Titel: Antw:Neues Modul 98_alarmclock noch ein Fhem Wecker
Beitrag von: CoolTux am 02 Mai 2017, 20:28:05
Soweit ich mich erinnere werden die meisten Readings gesetzt ohne das ein Event ausgelöst werden soll. Zu mindest war der Code so. Daher kann da auch nicht aktuallisieren im Frontend.
Titel: Antw:Neues Modul 98_alarmclock noch ein Fhem Wecker
Beitrag von: FlorianZ am 02 Mai 2017, 20:30:47
Hallo Rudy

1. Das Attribut "MaxAlarmDurationInSec". Was passiert nach Erreichen der hier eingestellten Zeit? Wird damit einfach der state von "Alarm is running" wieder auf "OK" zurückgesetzt? Wenn nein, wo liegt der Unterschied zu HardAlarm?

Nach Erreichen der eingestellten Zeit bei MaxAlarmDurationInSec wird die AlarmRoutineOff ausgeführt. Der Wecker verhält sich hier identisch als wäre eine EventForAlarmOff eingetreten.
Das kann man als Alternative zu einen getriggerten Event betrachten, um den aktiven Wecker zu stoppen oder einfach die maximale Alarmdauer zu begrenzen. Das Attribut ist optional und muss nicht gesetzt werden.
HardAlarm ist für Leute gedacht, (wie mich  :D ) die ihren Wecker gerne überhören oder ignorieren.
Man kann hier mit dem Attribut HardAlarmTimeInSec die Zeitspanne festlegen, in der der aktive Wecker deaktiviert werden muss. Sollte der Wecker nicht in dieser Zeitspanne deaktiviert werden, wird die HardAlarmRoutine ausgeführt. Kann man zb nutzen um die Lautstärke des Weckers zu erhöhen.

2. Der state gibt ja einige interessante Informationen wieder. Für die einfache Abfrage ob der Wecker aktiviert oder deaktivert (im Sinne von disable 0/1) ist, eignet er sich aber leider nicht. Ein weiteres Reading wie activestate oder ähnliches wäre hilfreich, auch für eine einfache Integragion in FTUI.

Werde ich mir ansehen und ggf ein weiteres Reading mit aufnehmen.

3. Es wäre schön wenn das Modul bald in FHEM direkt integriert werden würde.

Steht auf meiner todo ganz oben.  Eventuell kommendes Wochenende.

4. Was muss ich bei HolidayDevice eingeben, damit die Urlaubsprüfung funktioniert (bspw. Device:Reading)? Und welchen Wert muss dieses mögliche Reading liefern, damit Urlaub ja bzw. nein erkannt wird?

Nur den Namen des HolidayDevice eingeben. Es wird jede Nacht um 5 Sekunden nach Mitternacht der state des HolidayDevice überprüft. Ist dieser nicht none , greift die AlarmTime8_Holiday

Gruß Florian
Titel: Antw:Neues Modul 98_alarmclock noch ein Fhem Wecker
Beitrag von: FlorianZ am 02 Mai 2017, 20:32:38
Soweit ich mich erinnere werden die meisten Readings gesetzt ohne das ein Event ausgelöst werden soll. Zu mindest war der Code so. Daher kann da auch nicht aktuallisieren im Frontend.

Ja das ist richtig. Sollte ich das nur für das Frontend ändern?
Die Modulfunktion selbst würde eigentlich hier keine Events benötigen.

Gruß
Florian
Titel: Antw:Neues Modul 98_alarmclock noch ein Fhem Wecker
Beitrag von: CoolTux am 02 Mai 2017, 20:40:43
Gute Frage. Gebraucht wird es ja nicht. Du hast halt nur ein Darstellungsproblem in den Frontends. FHEMWEB kann man ja noch so neu laden, FTUI ist da schon ungünstiger.

Mach es so. Du aktivierst Events und setzt gleichzeitig Attribut event-on-change-reading .* In der define wenn das Attribut nicht gesetzt ist.

Dann kannst Du auch gleich Deine eine if Abfrage mit den vielen einzelnen readingsSingleUpdate auf readingsBulkUpdate umstellen.
Ist ein Vorschlag


Grüße
Titel: Antw:Neues Modul 98_alarmclock noch ein Fhem Wecker
Beitrag von: FlorianZ am 02 Mai 2017, 20:49:27
Du aktivierst Events und setzt gleichzeitig Attribut event-on-change-reading .* In der define wenn das Attribut nicht gesetzt ist.
Dann kannst Du auch gleich Deine eine if Abfrage mit den vielen einzelnen readingsSingleUpdate auf readingsBulkUpdate umstellen.
Ja das klingt sehr gut.
Werde ich im nächsten Update so mit umbauen.
 
Gruß
Florian
Titel: Antw:Neues Modul 98_alarmclock noch ein Fhem Wecker
Beitrag von: FlorianZ am 03 Mai 2017, 19:19:05
So Events sind jetzt in Version 0.0.7 aktiviert.
Event-on-change-reading kann genutzt werden.
Sollte bei einer neuen Def automatisch gesetzt werden.

Bitte kurze Rückmeldung bzgl. FTUI und FHEMWEB.

Gruß
Florian
Titel: Antw:Neues Modul 98_alarmclock noch ein Fhem Wecker
Beitrag von: Rudy am 03 Mai 2017, 20:09:16
Hallo Florian,

danke für die Informationen. Der Unterschied zwischen MaxAlarmDurationInSec und  HardAlarm ist nun klar. Auch wie Holiday funktioniert habe ich nun verstanden. An das Modul holiday hatte ich leider gar nicht mehr gedacht. Aber auch, weil ich bei mir den Urlaub über ein Dummy steuere, bei dem bei Bedarf ein Reading auf Urlaub gesetzt wird. Dies geschieht bei mir über einen Kalender, den ich über das Modul calendar eingebunden habe. Finde ich komfortabler als das holiday-Modul. Ich könnte mir vorstellen, dass auch andere dies nicht nicht nutzen, da bspw. die Module HOMEMODE und RESIDENTS längere Abwesenheiten wie Urlaube abgebildet werden können.

Daher schon wieder ein Vorschlag. Deinem Wecker sagen können, in welchem Reading er nachschauen soll ob Urlaub vorliegt. Außerdem noch den Wert angeben können, der Urlaub repräsentiert. So würde das Modul noch universeller einsetzbar.

Gruß
Rudy
Titel: Antw:Neues Modul 98_alarmclock noch ein Fhem Wecker
Beitrag von: rudolfkoenig am 03 Mai 2017, 20:55:22
Zitat
Du aktivierst Events und setzt gleichzeitig Attribut event-on-change-reading .* In der define wenn das Attribut nicht gesetzt ist.
Kann mir jemand erklaeren, wozu das gut ist? Es ist nicht das erste mal, dass ich das sehe, deswegen kann ich nicht ausschliessen, dass es einen sinnvollen Grund hat. Ist aber mAn nur ein CPU-intensives No-Op, und verursacht mir Kopfschmerzen, wenn es mit anderen event-* Attributen kombiniert wird.
Titel: Antw:Neues Modul 98_alarmclock noch ein Fhem Wecker
Beitrag von: CoolTux am 03 Mai 2017, 21:03:13
Hallo Rudi,

Der Sinn bestand darin das keine Systembelastenden Events erzeugt werden, da sie in diesem speziellen Fall nicht benötigt werden.
Ich kann mich erinnern das Du vor kurzem schon mal sagtest das event-on-* CPU Last nimmt. Da meine persönlichen Erfahrungen vor 2 Jahren mit vielen Events sehr nüchtern ausgefallen sind, habe ich bei den meisten Devices event-on-* eingestellt.



Grüße
Titel: Antw:Neues Modul 98_alarmclock noch ein Fhem Wecker
Beitrag von: FlorianZ am 03 Mai 2017, 21:09:50
Hallo Rudi,

Der Sinn bestand darin das keine Systembelastenden Events erzeugt werden, da sie in diesem speziellen Fall nicht benötigt werden.

war auch 1:1 mein Gedankengang.
Welche Nachteile oder Probleme ergeben sich hierdurch?

Gruß
Florian
Titel: Antw:Neues Modul 98_alarmclock noch ein Fhem Wecker
Beitrag von: rudolfkoenig am 03 Mai 2017, 22:18:49
Zitat
Der Sinn bestand darin das keine Systembelastenden Events erzeugt werden, da sie in diesem speziellen Fall nicht benötigt werden.
Das wird aber weder durch das Setzen von "event-on-change-reading .*" noch durchs weglassen bewerkstelligt.
Wenn man event-on-change-reading nicht setzt, dann werden alle Events normal generiert. Wenn man es setzt, dann wird jedes Event gegen diese Regexps geprueft, und falls passt, dann ein Event generiert.

Wenn man keine Events generieren will, dann ruft man entweder readingsSingleUpdate oder readingsEndUpdate mit 0 als letztes Argument auf.
Titel: Antw:Neues Modul 98_alarmclock noch ein Fhem Wecker
Beitrag von: CoolTux am 03 Mai 2017, 22:22:56
Aber dann haben wir wieder das Problem das sich bei einem setzen eines neuen Readings FHEMWEB nicht aktuallisiert. Man muss also immer die Seite neu laden um das geänderte Reading zu sehen.
Titel: Antw:Neues Modul 98_alarmclock noch ein Fhem Wecker
Beitrag von: FlorianZ am 03 Mai 2017, 22:47:20
Das wird aber weder durch das Setzen von "event-on-change-reading .*" noch durchs weglassen bewerkstelligt.
Das war mir so nicht bewusst.
Dann werde ich das setzen des Attributes in der define wieder entfernen.
Die Events bei den Readings lasse ich aktiv.
Sehe das in diesen Fall nicht so problematisch, da das Modul sehr wenig Events erzeugt.
Das wäre dann eher eine generelle Frage wie man "Frontend kompatible" Readings setzt, wenn das Modul
selber keine Events benötigt.

Gruß
Florian
Titel: Antw:Neues Modul 98_alarmclock noch ein Fhem Wecker
Beitrag von: rudolfkoenig am 03 Mai 2017, 22:49:35
@CoolTux: Bitte "dann" definieren.

Version 1: man will keine Events (warum auch immer): readingsSingleUpdate($hash, reading, wert, 0) oder readingsEndUpdate($hash, 0)

Version 2: man will Events (Normalfall): readingsSingleUpdate($hash, reading, wert, 1) oder readingsEndUpdate($hash, 1);

Ohne Events kriegt natuerlich keiner (inkl FHEMWEB) die Aenderungen mit. Dieses Modul sollte mit den paar Events niemanden stoeren.
Titel: Antw:Neues Modul 98_alarmclock noch ein Fhem Wecker
Beitrag von: CoolTux am 04 Mai 2017, 05:47:33
Guten Morgen Rudi,

Vielen Dank für Deine Ansicht und Empfehlung.
Dann lassen wir mal den Flo entscheiden ob er mit oder ohne Event haben möchte.
Meine Empfehlung mit event-on-* möchte ich dann hiermit zurück ziehen.


Grüße
Titel: Antw:Neues Modul 98_alarmclock ein Fhem Wecker
Beitrag von: FlorianZ am 05 Mai 2017, 20:10:00
Hallo zusammen,

98_alarmclock ist jetzt im FHEM Repository und sollte mit dem morgigen Update verfügbar sein.

Viele Grüße
Florian
Titel: Antw:Neues Modul 98_alarmclock ein Fhem Wecker
Beitrag von: Loredo am 07 Mai 2017, 16:53:57
Hallo Forian,

gerade erst gesehen, dass es das Modul gibt.
Mich würde dabei noch interessieren: Wieso kam es für dich denn nicht in Frage einen Patch für den vorhandenen Wakeuptimer in RESIDENTStk bereitzustellen statt eines neuen Moduls, was außen vor ist?




Gruß
Julian
Titel: Antw:Neues Modul 98_alarmclock ein Fhem Wecker
Beitrag von: FlorianZ am 07 Mai 2017, 17:52:21
Hallo Julian,

Anfangs wollte ich nur meine eigenen Anforderungen an einen Wecker in FHEM abbilden und
Perl lernen. Mit der Zeit und Spaß daran ist dann dieses Modul entstanden.
Wollte dir da im Bezug auf RESIDENTS Wakeuptimer mit Sicherheit nicht auf die Füße treten.
Zitat
statt eines neuen Moduls, was außen vor ist?
Naja so weit außen vor sehe ich das garnicht. Bei mir läuft alarmclock produktiv  im engen Verbund mit
Residents. Auf der anderen Seite ist das Modul vielleicht auch für User interessant, die kein
Residents einsetzen. Sozusagen standalone.
Eines meiner Hauptanliegen war/ist auch das Modul so zu gestallten, dass keine weiteren
DOIF/Notify oder Usercode mehr nötig sind.

Gruß
Florian
Titel: Antw:Neues Modul 98_alarmclock ein Fhem Wecker
Beitrag von: Loredo am 07 Mai 2017, 19:01:16
Der Grund, weshalb ich frage ist eigentlich nur, dass du eben Funktionen teils doppelst und dabei die Integration in ROOMMATE/GUEST (zumindest auf den ersten Blick) nicht dem entspricht, wie es sein sollte (sprich, 98_alarmclock ist kein vollwertiger Ersatz). Die Erwartung der Nutzer wäre sicherlich, dass ROOMMATE vollständig unterstützt wird. Allerdings habe ich weder Zeit doppelten Code zu pflegen noch auf Fremdcode Rücksicht zu nehmen.


Solange sich niemand beklagt, ist ja alles gut :-)


Ich wollte nur sichergehen, dass hier keine falschen Erwartungen bei der Nutzung von alarmclock zusammen mit ROOMMATE/GUEST entstehen.
Titel: Antw:Neues Modul 98_alarmclock ein Fhem Wecker
Beitrag von: FlorianZ am 07 Mai 2017, 19:10:40
die Integration in ROOMMATE/GUEST (zumindest auf den ersten Blick) nicht dem entspricht, wie es sein sollte
kannst Du das bitte etwas genauer definieren?
Alarmclock greift auf keiner Weise auf das Modul Residents zu.

Gruß
Florian
Titel: Antw:Neues Modul 98_alarmclock ein Fhem Wecker
Beitrag von: Loredo am 07 Mai 2017, 19:21:59
kannst Du das bitte etwas genauer definieren?
Alarmclock greift auf keiner Weise auf das Modul Residents zu.


Eben. Du schreibst aber in deinem ersten Beitrag hier im Thread, dass du damit dein ROOMMATE/GUEST Device steuerst. Das ist dann wohl etwas missverständlich, denn es impliziert für jemanden, der den Wakeuptimer benutzt/kennt, dass alarmclock ein Ersatz dafür ist.
Zumindest führte das bei mir dann zumindest schonmal zu dieser Annahme. Da alarmclock aber die wakeup Funktionen von ROOMMATE/GUEST nicht unterstützt, sollte das besser etwas relativiert werden, um hier wie gesagt keine falschen Erwartungen zu wecken (und uns beiden damit eine menge Support Arbeit zu ersparen  ;) )


LG
Julian
Titel: Antw:Neues Modul 98_alarmclock ein Fhem Wecker
Beitrag von: FlorianZ am 07 Mai 2017, 19:29:17
Ok jetzt verstehe ich was du meinst.  ;)
Werde das Beispiel ändern.

Gruß
Florian
Titel: Antw:Neues Modul 98_alarmclock ein Fhem Wecker
Beitrag von: Loredo am 07 Mai 2017, 19:48:52
Klasse, vielen Dank!
Titel: Antw:Neues Modul 98_alarmclock ein Fhem Wecker
Beitrag von: FlorianZ am 09 Mai 2017, 21:00:07
Hallo zusammen,

Ich habe gerade eine neue Version eingecheckt.
Es gibt jetzt mehr Möglichkeiten für HolidayDevice:

1. HolidayDevice des Typs Holiday
    attr <name> HolidayDevice <devicename>
    AlarmTime 8_Holiday greift wenn state nicht none ist.

2. Auf state eines Device. Bsp. Dummy als HolidayDevice
    attr <name> HolidayDevice <devicename>:<value>
    <value> stellt hierbei den Wert für Urlaub dar und steht im Reading state.
    Bsp.: attr <name> HolidayDevice Mein_Urlaubs_Dummy:Urlaub
    Hier greift die AlarmTime 8_Holiday wenn der state des Dummy den Wert Urlaub besitzt.

3. Auf ein Reading eines Device.
    attr <name> HolidayDevice <devicename>:<readingname>: <value>
    <value> stellt den Wert für Urlaub dar und steht im Reading <readingname>.
    Bsp.: attr <name> HolidayDevice Mein_Urlaubs_Dummy:Heute: Urlaub


Im "laufenden" Betrieb von 98_alarmclock werden jede Nacht um 00:00:05 Uhr die Timer
des aktuellen Tages gesetzt.Sollte also beispielsweise ein Dummy als HolidayDevice eingesetzt werden,
muss dieser um 5 Sekunden nach Mitternacht bereits den Wert des aktuellen Tages besitzen.

vg
Florian


   



Titel: Antw:Neues Modul 98_alarmclock ein Fhem Wecker
Beitrag von: FlorianZ am 11 Mai 2017, 11:24:52
Ab morgen kommt ein Update mit neuen Features von 98_alarmclock.

Neue Attribute:
RepRoutine1
RepRoutine1WaitInSec
RepRoutine1Repeats
RepRoutine1Mode:Alarm,PreAlarm,off
RepRoutine1Stop:Snooze,off
RepRoutine2
RepRoutine2WaitInSec
RepRoutine2Repeats
RepRoutine2Mode:Alarm,PreAlarm,off
RepRoutine2Stop:Snooze,off
RepRoutine3
RepRoutine3WaitInSec
RepRoutine3Repeats
RepRoutine3Mode:Alarm,PreAlarm,off
RepRoutine3Stop:Snooze,off

Mit dem Attribut RepRoutine kann man wiederholende Routinen anlegen zb. für ein Wakeuplight oder
eine Volume-Ramp für Sonos oder langsam öffnende Rollos oder ............


Hier mal ein Beispiel für ein Wakeuplight mit einen Dimmer:

Mit der PreAlarmRoutine wird das Licht auf dim 1 gesetzt. Also die Startposition
attr <name> PreAlarmRoutine set Licht_Schlafzimmer dim 1
Die RepRoutine ist die Routine, die wiederholt wird. In diesem Beispiel wird der aktuelle Dimmstatus abgefragt und um 1 erhöht.
attr <name> RepRoutine1 {my $DimNow = ReadingsNum("Licht_Schlafzimmer", "state", 0);;my $DimNext = $DimNow + 1;;fhem("set Licht_Schlafzimmer dim $DimNext");;}
RepRoutine1Mode hat 3 Optionen.
                 1. PreAlarm : Die RepRoutine wird mit dem PreAlarm gestartet.
                 2. Alarm : Die RepRoutine wird mit dem Alarm gestartet.
                 3. off: RepRoutine ist deaktiviert
attr <name> RepRoutine1Mode PreAlarm
RepRoutine1Repeats gibt die Wiederholungen an, wie oft RepRoutine1 ausgeführt werden soll.
attr <name> RepRoutine1Repeats 49
RepRoutine1Stop hat 2 Optionen:
                 1. Snooze : Die RepRoutine wird mit dem EventForSnooze unterbrochen.
                 2. off: Die RepRoutine ignoriert das EventForSnooze und läuft weiter.
attr <name> RepRoutine1Stop off
Mit RepRoutine1WaitInSec wird in Sekunden angegeben, in welchen Intervall die RepRoutine ausgeführt werden soll.
attr <name> RepRoutine1WaitInSec 10

Im Beispiel wird also das Licht_Schlafzimmer 50 mal alle 10 Sekunden um 1 hochgedimmt.
Nach 500 Sekunden sollte dann das Licht bei dim 50 stehen.
Die RepRoutine läuft hier solange, bis sie entweder komplett abgearbeitet ist, oder
ein EventForAlarmOff eintritt.

So noch ein Beispiel für eine langsam steigende Lautstärke mit Sonos.
Ausgangspunkt hier ist die Alarmroutine.
attr <name> AlarmRoutine set Sonos_Schlafzimmer Volume 1;set Sonos_Schlafzimmer StartRadio ANTENNE%20BAYERN
Die RepRoutine soll Volume um 1 herhöhen. (Attribut VolumeStep bei Sonos auf 1)
attr <name> RepRoutine2 set Sonos_Schlafzimmer VolumeU
RepRoutine wird diesmal mit dem Alarm gestartet.
attr <name> RepRoutine2Mode Alarm
attr <name> RepRoutine2Repeats 19
Snooze soll die RepRoutine stoppen.
attr <name> RepRoutine2Stop Snooze
attr <name> RepRoutine2WaitInSec 10

Im Beispiel wird also 20 mal alle 10 Sekunden die Lautstärke um 1 erhöht.
EventForSnooze unterbricht die Rampe. Wird der Alarm nach der eingestellten
Zeit ( SnoozeTimeInSec ) erneut gestartet, beginnt die Rampe von vorne.

Wie immer würde ich mich über Feedback freuen.

Gruß
Florian

P.S.  Hier nochmal ein herzliches Dankeschön an CoolTux  ;)
Titel: Antw:Neues Modul 98_alarmclock ein Fhem Wecker
Beitrag von: FlorianZ am 13 Mai 2017, 12:50:14
Um das Verhalten mit Fhem TabletUI zu testen, habe ich mal versucht
ein kleines Template für 98_alarmclock zu erstellen.
Ich muss dazu sagen, dass ich mich mit FTUI noch nicht besonders
auseinandergesetzt habe, und der Html Code wahrscheinlich
sehr verbesserungswürdig ist. Wenn also jemand Zeit und Lust hat
es zu optimieren......  ;)

Einbinden des Templates
<li data-row="1" data-col="1" data-sizex="5" data-sizey="2">
    <header>Wecker Florian</header>
    <div data-template="template_alarmclock.html" data-parameter='{"Device":"Wecker_Florian"}'></div>
</li>
 <li data-row="1" data-col="6" data-sizex="5" data-sizey="2">
     <header>Wecker Petra</header>
     <div data-template="template_alarmclock.html" data-parameter='{"Device":"Wecker_Petra"}'></div>
</li>

und hier das Template:   template_alarmclock.html
<div class="col-1-2 top-align top-space">

<div class="sheet">
<div class="row">
   <div class="left big inline darker thin cell-1-40">Montag</div>
   <div data-type="datetimepicker" data-device="Device" data-get="AlarmTime1_Monday" data-set="AlarmTime1_Monday" data-set-value="$v" data-cmd="set" data-step="5" data-datepicker="false" data-format="H:i" class="inline big orange cell-1-40"></div>
   <div data-type="push" data-device="Device" data-cmd="set" data-set="AlarmOff" data-set-on="1_Monday" data-icon="fa-close" data-background-icon="fa-square-o" class="inline tiny cell-1-20"></div>
</div>
<div class="row">
   <div class="left big inline darker thin cell-1-40">Dienstag</div>
   <div data-type="datetimepicker" data-device="Device" data-get="AlarmTime2_Tuesday" data-set="AlarmTime2_Tuesday" data-set-value="$v" data-cmd="set" data-step="5" data-datepicker="false" data-format="H:i" class="inline big orange cell-1-40"></div>
   <div data-type="push" data-device="Device" data-cmd="set" data-set="AlarmOff" data-set-on="2_Tuesday" data-icon="fa-close" data-background-icon="fa-square-o" class="inline cell-1-20 tiny"></div>
</div>
<div class="row">
   <div class="left big inline darker thin cell-1-40">Mittwoch</div>
   <div data-type="datetimepicker" data-device="Device" data-get="AlarmTime3_Wednesday" data-set="AlarmTime3_Wednesday" data-set-value="$v" data-cmd="set" data-step="5" data-datepicker="false" data-format="H:i" class="inline big orange cell-1-40"></div>
   <div data-type="push" data-device="Device" data-cmd="set" data-set="AlarmOff" data-set-on="3_Wednesday" data-icon="fa-close" data-background-icon="fa-square-o" class="inline cell-1-20 tiny"></div>
</div>
<div class="row">
   <div class="left big inline darker thin cell-1-40">Donnerstag</div>
   <div data-type="datetimepicker" data-device="Device" data-get="AlarmTime4_Thursday" data-set="AlarmTime4_Thursday" data-set-value="$v" data-cmd="set" data-step="5" data-datepicker="false" data-format="H:i" class="inline big orange cell-1-40"></div>
   <div data-type="push" data-device="Device" data-cmd="set" data-set="AlarmOff" data-set-on="4_Thursday" data-icon="fa-close" data-background-icon="fa-square-o" class="inline cell-1-20 tiny"></div>
</div>
<div class="row">
   <div class="left big inline darker thin cell-1-40">Freitag</div>
   <div data-type="datetimepicker" data-device="Device" data-get="AlarmTime5_Friday" data-set="AlarmTime5_Friday" data-set-value="$v" data-cmd="set" data-step="5" data-datepicker="false" data-format="H:i" class="inline big orange cell-1-40"></div>
   <div data-type="push" data-device="Device" data-cmd="set" data-set="AlarmOff" data-set-on="5_Friday" data-icon="fa-close" data-background-icon="fa-square-o" class="inline cell-1-20 tiny"></div>
</div>
<div class="row">
   <div class="left big inline darker thin cell-1-40">Samstag</div>
   <div data-type="datetimepicker" data-device="Device" data-get="AlarmTime6_Saturday" data-set="AlarmTime6_Saturday" data-set-value="$v" data-cmd="set" data-step="5" data-datepicker="false" data-format="H:i" class="inline big orange cell-1-40"></div>
   <div data-type="push" data-device="Device" data-cmd="set" data-set="AlarmOff" data-set-on="6_Saturday" data-icon="fa-close" data-background-icon="fa-square-o" class="inline cell-1-20 tiny"></div>
</div>
<div class="row">
   <div class="left big inline darker thin cell-1-40">Sonntag</div>
   <div data-type="datetimepicker" data-device="Device" data-get="AlarmTime7_Sunday" data-set="AlarmTime7_Sunday" data-set-value="$v" data-cmd="set" data-step="5" data-datepicker="false" data-format="H:i" class="inline big orange cell-1-40"></div>
   <div data-type="push" data-device="Device" data-cmd="set" data-set="AlarmOff" data-set-on="7_Sunday" data-icon="fa-close" data-background-icon="fa-square-o" class="inline cell-1-20 tiny"></div>
</div>
</div>
</div>


<div class="col-1-2 top-align top-space">

<div class="sheet">
<div class="row">
   <div class="left big inline darker thin cell-1-40">Feiertage</div>
   <div data-type="datetimepicker" data-device="Device" data-get="AlarmTime8_Holiday" data-set="AlarmTime8_Holiday" data-set-value="$v" data-cmd="set" data-step="5" data-datepicker="false" data-format="H:i" class="inline big darker cell-1-40"></div>
   <div data-type="push" data-device="Device" data-cmd="set" data-set="AlarmOff" data-set-on="8_Holiday" data-icon="fa-close" data-background-icon="fa-square-o" class="inline cell-1-20 tiny"></div>
</div>
<div class="row">
   <div class="left big inline darker thin cell-1-40">Wochentage</div>
   <div data-type="datetimepicker" data-device="Device" data-set="AlarmTime_Weekdays" data-substitution="toDate().hhmm()" data-set-value="$v" data-cmd="set" data-step="5" data-datepicker="false" data-format="H:i" class="inline big darker cell-1-40"></div>
   <div data-type="push" data-device="Device" data-cmd="set"  data-set="AlarmOff" data-set-on="Weekdays" data-icon="fa-close" data-background-icon="fa-square-o" class="inline cell-1-20 tiny"></div>
</div>
<div class="row">
   <div class="left big inline darker thin cell-1-40">Wochenende</div>
   <div data-type="datetimepicker" data-device="Device" data-set="AlarmTime_Weekend" data-substitution="toDate().hhmm()" data-set-value="$v" data-cmd="set" data-step="5" data-datepicker="false" data-format="H:i" class="inline big darker cell-1-40"></div>
   <div data-type="push" data-device="Device" data-cmd="set" data-set="AlarmOff" data-set-on="Weekend" data-icon="fa-close" data-background-icon="fa-square-o" class="inline cell-1-20 tiny"></div>
</div>
</div>


<div class="hbox top-space">
    <div>
        <div data-type="select" data-device="Device" data-items='["Weekprofile_1","Weekprofile_2","Weekprofile_3","Weekprofile_4","Weekprofile_5"]' data-set="save"></div>
        <div data-type="label" class="darker">speichern</div>
    </div>
    <div>
        <div data-type="select" data-device="Device" data-items='["Weekprofile_1","Weekprofile_2","Weekprofile_3","Weekprofile_4","Weekprofile_5"]' data-set="load" class="left-space"></div>
        <div data-type="label" class="left-space darker">laden</div>
    </div>
</div>

<div class="hbox top-space">
   <div data-type="switch" data-device="Device" data-set="disable" data-set-on="0" data-set-off="1" data-get="state" data-get-on="(?!deactivated).*" data-get-off="deactivated" data-states='["(?:(?!deactivated).)*","deactivated"]'
        data-icons='["fs-general_an_fuer_zeit", "fs-general_aus_fuer_zeit"]' data-colors='["white", "white"]'   data-background-colors='["green", "red"]' data-background-icon="fa-square"></div>
    <div data-type="label" class="darker thin big">Status:</div>
    <div data-type="label" data-device="Device" class="w3x big darker"></div>
</div>

</div>

Anbei noch ein Screenshot.

Viel Spaß
Florian
Titel: Antw:Neues Modul 98_alarmclock ein Fhem Wecker
Beitrag von: Fixel2012 am 14 Mai 2017, 23:14:04
Hi,
echt ein Super Wecker Modul, welches hier in so kurzer zeit entstanden ist!

Mir ist dieses Wochenende aufgefallen, dass es für mich auch nützlich wäre ein Presence Device anzugeben. Somit würde der Wecker nur bei Anwesenheit Klingeln.

Sprich bei Urlaub oder kurzfristigen Übernachtungen Klingelt der Wecker nicht dumm vor sich hin.


Gibt es da noch andere Interessenten? Bzw wäre es möglich eine Angabe von einem Presence Device ein zu bauen?

Vielen Dank,

Fixel
Titel: Antw:Neues Modul 98_alarmclock ein Fhem Wecker
Beitrag von: FlorianZ am 15 Mai 2017, 12:35:34
Bzw wäre es möglich eine Angabe von einem Presence Device ein zu bauen?
klingt nach einer sinnvollen Erweiterung.
Werde ich mit integrieren.

Gruß
Florian
Titel: Antw:Neues Modul 98_alarmclock ein Fhem Wecker
Beitrag von: FlorianZ am 20 Mai 2017, 15:12:51
Ich habe gerade eine neue Version eingecheckt.

Neue Attribute:
PresenceDevice
PresenceCheck:1,0

Folgende Möglichkeiten für PresenceDevice:

1. PresenceDevice des Typs PRESENCE
    attr <name> PresenceDevice <devicename>
    Alarmclock storniert den anstehenden Alarm, wenn state den Wert absent besitzt.

2. Auf state eines Device. Bsp. Dummy als PresenceDevice
    attr <name> PresenceDevice <devicename>:<value>
    <value> stellt hierbei den Wert für "absent" dar und steht im Reading state.
    Bsp.: attr <name> PresenceDevice Mein_Presence_Dummy:absent
    Alarmclock storniert den anstehenden Alarm,wenn der state des Dummy den Wert absent besitzt.

3. Auf ein Reading eines Device.
    attr <name> PresenceDevice <devicename>:<readingname>: <value>
    <value> stellt den Wert für "absent" dar und steht im Reading <readingname>.
    Bsp.: attr <name> PresenceDevice Mein_Presence_Dummy:Bewohner1: Abwesend

Mit PresenceCheck kann man die Anwesenheitsüberwachung deaktivieren.
1 aktiv
0 deaktiviert

Es können mehrere PresenceDevice getrennt mit | (Pipe-Symbol) angegeben werden.
Ein "Mischbetrieb" der verschiedenen PresenceDevice Möglichkeiten, ist ebenfalls möglich.
<devicename>:<readingname>: <value>|<devicename>|<devicename>:<value>

Desweiteren habe ich HolidayDevice um die Mehrfachangabe erweitert.
Trenner ist ebenfalls | (Pipe-Symbol).
Hier ist das mischen der verschiedenen Möglichkeiten genauso möglich.

vg
Florian

Titel: Antw:Neues Modul 98_alarmclock ein Fhem Wecker
Beitrag von: Prof. Dr. Peter Henning am 21 Mai 2017, 17:07:24
Ich habe das Modul mal getestet, guter Ansatz.

Folgende Verbesserungsvorschläge:

1. Die ausgelösten Aktionen sollten mit einer einstellbaren Verzögerung versehen sein (Syntax z.B. ":"-getrennte Liste so wie bei DOIF). Beispielsweise möchte ich, dass mein Teewasser erst 5 Minuten nach dem Wecken angeschaltet wird.
2. Es wäre nett, wenn wir das Modul besser mit dem 95_Alarm.pm verkoppeln könnten.
3. Es fehlt noch so etwas wie ein Party-Befehl, der gerade nur den nächsten Weckruf auslässt
4. Es wäre schön, ein mit der Maus konfigurierbares Webinterface zu haben

LG

pah

Edit: Ich mache die Wunschliste gleich noch länger

5. Eine weitere "Sonderweckzeit" AlarmTime9_Vacation. Begründung: "Holiday" steht für Feiertage - da braucht man in der Regel nicht früh aufzustehen. "Vacation" aber bezieht sich auf Wochentage, bei denen man nicht regulär (d.h. nach Profil) aufstehen muss. Beispiel: Normale Weckzeit lt. Profil, wenn die Kinder in die Schule müssen, "Vacation"-Zeit, wenn Schulferien sind.
6. Unterschiedliche Alarmroutinen je nach Typ des Tages.
7. Wenn man die Weckzeit per Alexa-Sprachsteuerung setzen möchte (mache ich bei mir), ist es schwierig, einen gemischten Datentyp mit Zeit-Daten und dem Wert "off" zu verwenden - das kann der Amazon Webservice nicht. Es sollte also eine "Offzeit" geben, die vom Modul interpretiert wird als "Wecker ausgeschaltet".
8. Für die Erkennung von Schulferien bzw. Feiertagen aus Kalenderdaten stelle ich gerne die Codebausteine aus den SmartHome Hacks zur Verfügung.
9. Es sollte ein Reading NextWakeTime geben, in dem die nächste Weckzeit gespeichert ist.

Ich bin gerne bereit, mich an den Erweiterungen zu beteiligen und einen Patch zur Verfügung zu stellen.
Titel: Antw:Neues Modul 98_alarmclock ein Fhem Wecker
Beitrag von: FlorianZ am 21 Mai 2017, 21:11:06
Hallo pah,

Erstmal vielen Dank für dein Feedback.
Verbesserungsvorschläge nehme ich jederzeit gerne an.
Im Vorfeld muss ich aber erstmal sagen, dass sich meine Perl Kenntnisse
sich erst mit diesen Modul entwickeln.  ;)

1. Die ausgelösten Aktionen sollten mit einer einstellbaren Verzögerung versehen sein (Syntax z.B. ":"-getrennte Liste so wie bei DOIF). Beispielsweise möchte ich, dass mein Teewasser erst 5 Minuten nach dem Wecken angeschaltet wird.
Löse ich aktuell bei mir so:
define -temporary atTmp_Sonos_off_schlafzimmer at +00:02:00 set Powernode_6_Schlafzimmer_3_Sonos off;

2. Es wäre nett, wenn wir das Modul besser mit dem 95_Alarm.pm verkoppeln könnten.
Sehr gerne. Bitte weiter ausführen.

3. Es fehlt noch so etwas wie ein Party-Befehl, der gerade nur den nächsten Weckruf auslässt
Finde ich gut. Werde ich umsetzen.

4. Es wäre schön, ein mit der Maus konfigurierbares Webinterface zu haben
Klingt interessant.Würde mir aber aktuell jeglicher Ansatz fehlen um das umzusetzen.

5. Eine weitere "Sonderweckzeit" AlarmTime9_Vacation. Begründung: "Holiday" steht für Feiertage - da braucht man in der Regel nicht früh aufzustehen. "Vacation" aber bezieht sich auf Wochentage, bei denen man nicht regulär (d.h. nach Profil) aufstehen muss. Beispiel: Normale Weckzeit lt. Profil, wenn die Kinder in die Schule müssen, "Vacation"-Zeit, wenn Schulferien sind.
Ein AlarmTime9_Vacation sollte kein Problem sein. Woher würden die Daten zur Differenzierung zwischen Holiday und Vacation kommen?

6. Unterschiedliche Alarmroutinen je nach Typ des Tages.
Verstehst Du unter Typ Wochentag und Wochenende?

7. Wenn man die Weckzeit per Alexa-Sprachsteuerung setzen möchte (mache ich bei mir), ist es schwierig, einen gemischten Datentyp mit Zeit-Daten und dem Wert "off" zu verwenden - das kann der Amazon Webservice nicht. Es sollte also eine "Offzeit" geben, die vom Modul interpretiert wird als "Wecker ausgeschaltet".
So nach dem Motto 00:56 steht für off?Wenn ja sollte das kein Problem sein, und könnte ich gerne einbauen.

8. Für die Erkennung von Schulferien bzw. Feiertagen aus Kalenderdaten stelle ich gerne die Codebausteine aus den SmartHome Hacks zur Verfügung.
Für die Umsetzung von Punkt 5?

9. Es sollte ein Reading NextWakeTime geben, in dem die nächste Weckzeit gespeichert ist.
Würde mir prinzipiell zusagen. Problem hierbei ist, dass das Modul derzeit erst um 00:00:05
nach der nächsten Weckzeit sucht und diese stellt.

An Erweiterungen darfst Du dich sehr gerne beteiligen.
Für mich ist nur wichtig, den Ablauf und Code zu verstehen.Wie gesagt Anfänger.

vg
Florian
Titel: Antw:Neues Modul 98_alarmclock ein Fhem Wecker
Beitrag von: FlorianZ am 22 Mai 2017, 10:14:56
Zum Thema Vacation nochmal ein paar Ideen.
Ich würde gerne AlarmTime9_Vacation identisch zu AlarmTime8_Holiday integrieren.
Über VacationDevice sollte man jedes Device also auch Kalender abfragen können.
Zusätzlich 2 neue Attribute:
VacationDays
HolidayDays
Mit diesen kann der User festlegen, an welchen Tagen Vacation und Holiday greifen darf.
Bsp.: VacationDays 1|2|3|4|5
Vacation würde nur an Wochentagen greifen.
Was mir noch nicht klar ist, ist die Priorisierung wenn Holiday und Vacation am selben Tag ist.

Gruß
Florian
Titel: Antw:Neues Modul 98_alarmclock ein Fhem Wecker
Beitrag von: Prof. Dr. Peter Henning am 22 Mai 2017, 17:42:31
Zitat
Was mir noch nicht klar ist, ist die Priorisierung wenn Holiday und Vacation am selben Tag ist.
Das ist doch klar: Holiday hat die höhere Prio, weil da nicht nur die Kinder frei haben, sondern man selber auch ...

LG

pah
Titel: Antw:Neues Modul 98_alarmclock ein Fhem Wecker
Beitrag von: FlorianZ am 22 Mai 2017, 17:58:59
OK, Ja das macht Sinn.
Wäre eine identische Einbindung im Vergleich zu Holiday ok, oder
ist dein Codebaustein zu bevorzugen?
Wenn ja, könntest Du mir diesen geben, oder würdest du hier lieber einen Patch zur Verfügung stellen?
Vacation würde ich gerne als erstes der Punkte umsetzen.

Gruß
Florian
Titel: Antw:Neues Modul 98_alarmclock ein Fhem Wecker
Beitrag von: FlorianZ am 22 Mai 2017, 19:04:30
Nur kurze Info:

3. Es fehlt noch so etwas wie ein Party-Befehl, der gerade nur den nächsten Weckruf auslässt

Ist integriert und nennt sich: set <name> skip NextAlarm

Kommt mit dem nächsten Update.

Gruß
Florian
Titel: Antw:Neues Modul 98_alarmclock ein Fhem Wecker
Beitrag von: Prof. Dr. Peter Henning am 22 Mai 2017, 19:51:57
Bin derzeit nicht daheim am Rechner.
In den SmartHome Hacks habe ich den Code veröffentlicht, liest aus zwei verschiedenen Kalender-Instanzen.

Poste ich demnächst.

LG

pah



Titel: Antw:Neues Modul 98_alarmclock ein Fhem Wecker
Beitrag von: FlorianZ am 25 Mai 2017, 13:37:48
Neue Version ist eingecheckt.

Neu ist:

set <name> skip (NextAlarm|None)
Überspringt den nächsten Alarm.
None setzt den Befehl skip wieder zurück

set <name> AlarmTime9_Vacation HH:MM
Alarmzeit für Ferien.

attr <name> HolidayDays
Hier kann man optional angeben, an welchen Tagen
Holiday greifen darf.
Beispiel:
attr <name> HolidayDays 1|2|3|4|5
Holiday würde nur an Wochentagen greifen
Default ist: 1|2|3|4|5|6|7

attr <name> VacationDevice
Kalender/Dummy usw... für Ferien.
Syntax/Möglichkeiten identisch zu HolidayDevice

attr <name> VacationCheck
1: aktiviert
0: deaktiviert

attr <name> VacationDays
siehe HolidayDays
Default: 1|2|3|4|5|6|7

Neues Reading skip
skip next Alarm => der nächste Alarm wird übersprungen
skip none => skip nicht aktiv


Gruß
Florian
Titel: Antw:Neues Modul 98_alarmclock ein Fhem Wecker
Beitrag von: martins am 01 Juni 2017, 19:58:12
ich hätte da einen Wunsch, kann man einen set Befehl äquivalent zum EventForAlarmOff Attribut einbauen?
set <name> StopAlarm
Dieser sollte dann den gleichen Effekt haben als wenn das Modul durch ein EventForAlarmOff getriggert wird.

Wäre dies möglich?

Gruß
Martin
Titel: Antw:Neues Modul 98_alarmclock ein Fhem Wecker
Beitrag von: FlorianZ am 01 Juni 2017, 20:35:07
Hallo Martin

Ich habe set <name> stop Alarm in das Modul integriert.
Ab morgen im update oder jetzt im svn.

Gruß
Florian
Titel: Antw:Neues Modul 98_alarmclock ein Fhem Wecker
Beitrag von: Prof. Dr. Peter Henning am 01 Juni 2017, 20:46:12
Der Codeblock zum Lesen des HolidayDevice ist ein wenig umständloich. Außerdem sollte es egal sein, ob es sich um ein "Holiday-Device" mit dem vom Modulautor selbst erfundenen Datenformat handelt, oder um ein Calendar Device.

Anbei - zum Anpassen nach Wunsch - ein Codeblock aus einem in Arbeit befindlichen Modul:

#########################################################################################
#
# YAAHM_GetDayStatus
#
# Parameter hash = hash of device addressed
#
#########################################################################################

sub YAAHM_GetDayStatus($) {
  my ($hash) = @_;
   
  my $name = $hash->{NAME};
  my $lang = ($attr{global}{language} ? $attr{global}{language} : "EN");
 
  my ($ret,$line,$fline,$date);
  my (@lines,@chunks,@tday,@eday,@sday,@tmor);
  my ($stoday,$todaydesc,$todaytype,$stom,$tomdesc,$tomtype);
 
  #-- workday has lowest priority
  $todaytype = "workday";
  $hash->{DATA}{"DD"}[0]{"isWeekend"} = 0;

  $tomtype = "workday";
  $hash->{DATA}{"DD"}[1]{"isWeekend"} = 0;
 
  #-- vacation = vacdays has higher priority
  my $vacdayDevs = AttrVal( $name, "vacationDevices", "" );
  foreach my $vacdayDev ( split( /,/, $vacdayDevs ) ) {
    #-- device of type holiday
    if( IsDevice( $vacdayDev, "holiday" )){     
      $stoday = strftime('%2m-%2d', localtime(time));
      $stom   = strftime('%2m-%2d', localtime(time+86400));
      my $tod = holiday_refresh( $vacdayDev, $stoday );
      if ( $tod ne "none" ) {
        $todaydesc = $tod;
        $todaytype = "vacday";
        Log3 $name, 1,"[YAAHM] found today=vacation \"$todaydesc\" in holiday $vacdayDev";
      }
      $tod = holiday_refresh( $vacdayDev, $stom );
      if ( $tod ne "none" ) {
        $tomdesc = $tod;
        $tomtype = "vacday";
        Log3 $name, 1,"[YAAHM] found tomorrow=vacation \"$tomdesc\" in holiday $vacdayDev";
      }
    #-- device of type calendar
    }elsif( IsDevice($vacdayDev, "Calendar" )){
      $stoday  = strftime('%2d.%2m.%2y', localtime(time));
      $stom    = strftime('%2d.%2m.%2y', localtime(time+86400));
      @tday  = split('\.',$stoday);
      @tmor  = split('\.',$stom);
      #-- more complicated to check here
      $fline=Calendar_Get($defs{$vacdayDev},"get","full","mode=alarm|start|upcoming");
      if($line){
        #chomp($fline);
        @lines = split('\n',$fline);
        foreach $fline (@lines){
          chomp($fline);
          @chunks = split(' ',$fline);
          @sday   = split('\.',$chunks[2]);
          @eday   = split('\.',substr($chunks[3],9,10));
          #-- today
          my $rets  = ($sday[2]-$tday[2]-2000)*365+($sday[1]-$tday[1])*31+($sday[0]-$tday[0]);
          my $rete  = ($eday[2]-$tday[2]-2000)*365+($eday[1]-$tday[1])*31+($eday[0]-$tday[0]);
          if( ($rete>=0) && ($rets<=0) ){
            $todaydesc = $chunks[5];
            $todaytype = "vacation";
            Log3 $name, 1,"[YAAHM] found today=vacation \"$todaydesc\" in calendar $vacdayDev";
          }   
          $rets  = ($sday[2]-$tmor[2]-2000)*365+($sday[1]-$tmor[1])*31+($sday[0]-$tmor[0]);
          $rete  = ($eday[2]-$tmor[2]-2000)*365+($eday[1]-$tmor[1])*31+($eday[0]-$tmor[0]);
          if( ($rete>=0) && ($rets<=0) ){
            $tomdesc = $chunks[5];
            $tomtype = "vacation";
            Log3 $name, 1,"[YAAHM] found tomorrow=vacation \"$tomdesc\" in calendar $vacdayDev";
          }
        }
      } 
    }
  }
  #-- put into readings
  if( $todaytype eq "vacation" ){
    $hash->{DATA}{"DD"}[0]{"isVacation"} = 1;
    $hash->{DATA}{"DD"}[0]{"vDesc"} = $todaydesc;
  }else{
    $hash->{DATA}{"DD"}[0]{"isVacation"} = 0;
    $hash->{DATA}{"DD"}[0]{"vDesc"} = "";
  }
  if( $tomtype eq "vacation" ){
    $hash->{DATA}{"DD"}[1]{"isVacation"} = 1;
    $hash->{DATA}{"DD"}[1]{"vDesc"} = $tomdesc;
  }else{
    $hash->{DATA}{"DD"}[1]{"isVacation"} = 0;
    $hash->{DATA}{"DD"}[1]{"vDesc"} = "";
  }
 
  #-- weekend has higher priority
   if( strftime('%u', localtime(time)) > 5){
    $todaytype = "weekend";
    $hash->{DATA}{"DD"}[0]{"isWeekend"} = 1;
  }
 
  if( strftime('%u', localtime(time+86400)) > 5){
    $tomtype = "weekend";
    $hash->{DATA}{"DD"}[1]{"isWeekend"} = 1;
  }
   
  #-- holidays have the highest priority
  my $holidayDevs = AttrVal( $name, "holidayDevices", "" );
  foreach my $holidayDev ( split( /,/, $holidayDevs ) ) {
 
    #-- device of type holiday
    if( IsDevice( $holidayDev, "holiday" )){     
      $stoday = strftime('%2m-%2d', localtime(time));
      $stom   = strftime('%2m-%2d', localtime(time+86400));
      my $tod = holiday_refresh( $holidayDev, $stoday );
      if ( $tod ne "none" ) {
        $todaydesc = $tod;
        $todaytype = "holiday";
        Log3 $name, 1,"[YAAHM] found today=holiday \"$todaydesc\" in holiday $holidayDev";
      }
      $tod = holiday_refresh( $holidayDev, $stom );
      if ( $tod ne "none" ) {
        $tomdesc = $tod;
        $tomtype = "holiday";
        Log3 $name, 1,"[YAAHM] found tomorrow=holiday \"$tomdesc\" in holiday $holidayDev";
      }
       
    #-- device of type calendar
    }elsif( IsDevice($holidayDev, "Calendar" )){
      $stoday  = strftime('%2d.%2m.%2y', localtime(time));
      $stom    = strftime('%2d.%2m.%2y', localtime(time+86400));
      $line=Calendar_Get($defs{$holidayDev},"get","text","mode=alarm|start|upcoming");
      if($line){
        chomp($line);
        @lines = split('\n',$line);
        foreach $line (@lines){
          chomp($line);
          $date  = substr($line,0,8);
          if( $date eq $stoday ){
            $todaydesc = substr($line,15);
            $todaytype = "holiday";
            Log3 $name, 1,"[YAAHM] found today=holiday \"$todaydesc\" in calendar $holidayDev";
          }
          if( $date eq $stom ){
            $tomdesc = substr($line,15);
            $tomtype = "holiday";
            Log3 $name, 1,"[YAAHM] found tomorrow=holiday \"$tomdesc\" in calendar $holidayDev";
          }
        }
      }
    }     
  }
  #-- put into readings
  if( $todaytype eq "holiday" ){
    $hash->{DATA}{"DD"}[0]{"isHoliday"} = 1;
    $hash->{DATA}{"DD"}[0]{"hDesc"} = $todaydesc;
  }else{
    $hash->{DATA}{"DD"}[0]{"isHoliday"} = 0;
    $hash->{DATA}{"DD"}[0]{"hDesc"} = "";
  }
  if( $tomtype eq "holiday" ){
    $hash->{DATA}{"DD"}[1]{"isHoliday"} = 1;
    $hash->{DATA}{"DD"}[1]{"hDesc"} = $tomdesc;
  }else{
    $hash->{DATA}{"DD"}[1]{"isHoliday"} = 0;
    $hash->{DATA}{"DD"}[1]{"hDesc"} = "";
  }
   
  #--
  readingsBeginUpdate($hash);
  readingsBulkUpdateIfChanged( $hash, "todayType",$todaytype );
  if( $todaytype eq "workday"){
    readingsBulkUpdateIfChanged( $hash, "todayDesc","--" )
  }elsif( $todaytype eq "vacation"){
    readingsBulkUpdateIfChanged( $hash, "todayDesc",$hash->{DATA}{"DD"}[0]{"vDesc"} )
  }elsif( $todaytype eq "weekend"){
    readingsBulkUpdateIfChanged( $hash, "todayDesc","--" )
  }else{
    readingsBulkUpdateIfChanged( $hash, "todayDesc",$hash->{DATA}{"DD"}[0]{"hDesc"} )
  }
  readingsBulkUpdateIfChanged( $hash, "tomorrowType",$tomtype );
  if( $tomtype eq "workday"){
    readingsBulkUpdateIfChanged( $hash, "tomorrowDesc","--" )
  }elsif( $tomtype eq "vacation"){
    readingsBulkUpdateIfChanged( $hash, "tomorrowDesc",$hash->{DATA}{"DD"}[1]{"vDesc"} )
  }elsif( $tomtype eq "weekend"){
    readingsBulkUpdateIfChanged( $hash, "tomorrowDesc","--" )
  }else{
    readingsBulkUpdateIfChanged( $hash, "tomorrowDesc",$hash->{DATA}{"DD"}[1]{"hDesc"} )
  }
  readingsEndUpdate($hash,1);
  return undef;

}

Bei Übernahme von Teilen dieses Codeblocks: Bitte gemäß GPL meinen Namen dazuschreiben.

LG

pah
Titel: Antw:Neues Modul 98_alarmclock ein Fhem Wecker
Beitrag von: FlorianZ am 01 Juni 2017, 21:14:26
Hallo pah,

vielen Dank für deinen Codeblock.
Da habe ich ja am Wochenende gut was zu studieren.  ;)

Gruß
Florian
Titel: Antw:Neues Modul 98_alarmclock ein Fhem Wecker
Beitrag von: martins am 01 Juni 2017, 22:19:28
Hallo Florian,

Danke für das schnelle integrieren.

Gruß
Martin

Titel: Antw:Neues Modul 98_alarmclock ein Fhem Wecker
Beitrag von: FlorianZ am 04 Juni 2017, 12:18:47
Hallo,

ich konnte HolidayDevice und VacationDevice um die automatische Erkennung des Typ holiday und Typ Calendar bzw.
Auswertung von Calendar dank des Codes von Prof. Dr. Peter Henning erweitern.

Um einen Kalender des Typ Calendar oder Typ holiday als HolidayDevice bzw VacationDevice zu nutzen:
attr <name> HolidayDevice <devicename>
attr <name> VacationDevice <devicename>
Alle anderen Möglichkeiten wie beispielsweise ein Dummy als HolidayDevice bleiben auch weiterhin bestehen.
attr <name> HolidayDevice <devicename>:<value>
attr <name> HolidayDevice <devicename>:<readingname>: <value>
attr <name> VacationDevice <devicename>:<value>
attr <name> VacationDevice <devicename>:<readingname>: <value>
Mehrfachnennung getrennt mit Pipe |

Ein Calendar als HolidayDevice wertet nur Einträge im Kalender aus,
die einen Tag dauern und sollte für Feiertage genutzt werden.
Ein Calendar als VacationDevice wertet auch Einträge über mehrere Tage
aus, und ist so für Urlaub/Ferien geeignet.

Das HolidayDevice wird gegenüber des VacationDevice priorisiert.

@pah
Ist die Angabe deines Namen in 98_alarmclock so in deinem Sinne?
Wie checkst du in deinem Modul, ob nach einen Neustart von Fhem das
Modul Calendar fertig geladen hat?
Ich habe es unter anderem mit:
$hash->{NotifyOrderPrefix} = "51-";
versucht. Ist aber nicht ausreichend.
Problem aktuell ist, dass die sub alarmclock_createtimer durchläuft bevor
das Calendar Modul fertig geladen hat. Mit dem Modul holiday gibt es da keine Probleme.

Gruß
Florian
Titel: Antw:Neues Modul 98_alarmclock ein Fhem Wecker
Beitrag von: FlorianZ am 05 Juni 2017, 12:57:42
Ich entwickle gerade ein neues Feature für alarmclock.
Um optional für jeden Tag bzw. Typ des Tages eine unterschiedliche AlarmRoutine/PreAlarmRoutine/RepRoutine/AlarmRoutineOff wie von
pah vorgeschlagen zu ermöglichen, würde ich eine Art Variable für die Routinen einführen.
Die AlarmRoutine könnte folgendermaßen aussehen:
%AlarmTime:1|2|3|4|5%
set licht1 on;
%AlarmTime:6|7%
set licht1 on;
set licht2 on;
%AlarmTime:8%
set licht3 on;
%AlarmTime:9%
set licht4 on;

Wie sind eure Meinungen oder Anregungen hierzu?

Gruß
Florian
Titel: Antw:Neues Modul 98_alarmclock ein Fhem Wecker
Beitrag von: pwlr am 07 Juni 2017, 01:01:26
Hallo Florian,

ich habe seit einiger Zeit Dein Modul im Test und bin begeistert  :) Danke für Deine Arbeit !
Allerdings musste ich feststellen, dass mein Tagesablauf wesentlich unstrukturierter abläuft als die Regeln und Definitionen im Modul...  Ich möchte also einen neuen set-Befehl anregen, etwas wie :

set <name> NextAlarm hh:mm

Also einfach nur die nächste Weckzeit, die in der Prio vor allen Listen steht und nur einmalig ausgeführt wird.
Es wäre auch praktisch, wenn man im attr für EventForAlarmOff und EventForSnooze mehrere Devices definieren kann, die jeweils per ODER miteinander verknüpft sind. Dann könnte der Wecker praktischerweise von jeder Bettseite bedient werden. Erhöht den WAF, auch von wegen "Gleichberechtigung"  :)

Vielleicht geht das ja ?
Vielen Dank nochmals
Bernd


Titel: Antw:Neues Modul 98_alarmclock ein Fhem Wecker
Beitrag von: FlorianZ am 07 Juni 2017, 12:45:03
Hallo Bernd,

vielen Dank für dein Feedback.

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

Die Idee für eine einmalige priorisierte Alarmzeit gefällt mir gut. Dazu muss ich mir aber erstmal Gedanken machen bezüglich Umsetzung.

Gruß
Florian
Titel: Antw:Neues Modul 98_alarmclock ein Fhem Wecker
Beitrag von: P.A.Trick am 08 Juni 2017, 12:05:15
Hi Florian, gibt's eigentlich eine Möglichkeit den nächsten Alarm in einem reading zur Verfügung zu stellen?
LG
Patrick
Titel: Antw:Neues Modul 98_alarmclock ein Fhem Wecker
Beitrag von: FlorianZ am 08 Juni 2017, 12:46:14
Hallo Patrick,

nur die Weckzeit des aktuellen Tages. Das Modul prüft kurz nach Mitternacht ob Holiday oder Vacation für den heutigen Tag
zutrifft und setzt anschließend die Weckzeit. Die Weckzeit für morgen oder übermorgen ist dem Modul sozusagen noch unbekannt.
Mit größeren Aufwand (für mich) wäre es möglich, die nächsten Weckzeiten zu überprüfen, solange man keine Dummy oder ähnliches
zur Holiday und Vacation Identifikation einsetzt.Kurzfristig könnte ich nur anbieten, die heutige Weckzeit in ein seperates Reading zu
schreiben.

Gruß
Florian
Titel: Antw:Neues Modul 98_alarmclock ein Fhem Wecker
Beitrag von: P.A.Trick am 08 Juni 2017, 12:50:45
Hallo Patrick,

nur die Weckzeit des aktuellen Tages. Das Modul prüft kurz nach Mitternacht ob Holiday oder Vacation für den heutigen Tag
zutrifft und setzt anschließend die Weckzeit. Die Weckzeit für morgen oder übermorgen ist dem Modul sozusagen noch unbekannt.
Mit größeren Aufwand (für mich) wäre es möglich, die nächsten Weckzeiten zu überprüfen, solange man keine Dummy oder ähnliches
zur Holiday und Vacation Identifikation einsetzt.Kurzfristig könnte ich nur anbieten, die heutige Weckzeit in ein seperates Reading zu
schreiben.

Gruß
Florian

Heutige Weckzeit in einem Reading wäre schon mal klasse! Hintergrund: Ich wollte mir abends ansagen wann der nächste Alarm (also am nächsten Tag) ist. Vielleicht kannst du es ja auf die Wunschliste setzen, würde mich freuen.
Vielen Dank im Voraus für deine Mühe und das tolle Modul!
VG
Patrick
Titel: Antw:Neues Modul 98_alarmclock ein Fhem Wecker
Beitrag von: pwlr am 08 Juni 2017, 12:52:10
Hi Patrick,

ich habe das mit einem userReading time gelöst :
time {my$state=(ReadingsVal("Wecker_01","state","none"));
my$time="none";
if ($state =~ "next Alarm at") {$time=(substr $state,14,5)};
return $time;}

Vielleicht hilf es Dir erstmal. Ist aber, wie Florian geschrieben hat, nur die nächste Weckzeit des aktuellen Tages.
Wecker_01 ist der Devicename meines Weckers und müsstest Du gegen Deinen Wert ersetzen.
Bernd
Titel: Antw:Neues Modul 98_alarmclock ein Fhem Wecker
Beitrag von: P.A.Trick am 08 Juni 2017, 13:01:44
Hi Patrick,

ich habe das mit einem userReading time gelöst :
time {my$state=(ReadingsVal("Wecker_01","state","none"));
my$time="none";
if ($state =~ "next Alarm at") {$time=(substr $state,14,5)};
return $time;}

Vielleicht hilf es Dir erstmal. Ist aber, wie Florian geschrieben hat, nur die nächste Weckzeit des aktuellen Tages.
Wecker_01 ist der Devicename meines Weckers und müsstest Du gegen Deinen Wert ersetzen.
Bernd

Danke Bernd - perfekt!
Titel: Antw:Neues Modul 98_alarmclock ein Fhem Wecker
Beitrag 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
Titel: Antw:Neues Modul 98_alarmclock ein Fhem Wecker
Beitrag von: pwlr am 12 Juni 2017, 01:43:42
Hallo Florian,

Zitat
Die 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
Titel: Antw:Neues Modul 98_alarmclock ein Fhem Wecker
Beitrag von: Fixel2012 am 12 Juni 2017, 20:42:49
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
Titel: Antw:Neues Modul 98_alarmclock ein Fhem Wecker
Beitrag 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.
Titel: Antw:Neues Modul 98_alarmclock ein Fhem Wecker
Beitrag von: P.A.Trick am 12 Juni 2017, 20:57:50
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!
Titel: Antw:Neues Modul 98_alarmclock ein Fhem Wecker
Beitrag von: Fixel2012 am 12 Juni 2017, 22:35:04
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
Titel: Antw:Neues Modul 98_alarmclock ein Fhem Wecker
Beitrag von: pwlr am 13 Juli 2017, 12:02:41
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
Titel: Antw:Neues Modul 98_alarmclock ein Fhem Wecker
Beitrag von: FlorianZ am 13 Juli 2017, 12:56:38
Hallo Bernd,

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

Gruß
Florian
Titel: Antw:Neues Modul 98_alarmclock ein Fhem Wecker
Beitrag von: pwlr am 19 Juli 2017, 14:59:53
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
Titel: Antw:Neues Modul 98_alarmclock ein Fhem Wecker
Beitrag von: FlorianZ am 19 Juli 2017, 17:18:12
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
Titel: Antw:Neues Modul 98_alarmclock ein Fhem Wecker
Beitrag von: Prof. Dr. Peter Henning am 19 Juli 2017, 19:35:00
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
Titel: Antw:Neues Modul 98_alarmclock ein Fhem Wecker
Beitrag von: pwlr am 20 Juli 2017, 00:51:25
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
Titel: Antw:Neues Modul 98_alarmclock ein Fhem Wecker
Beitrag von: FlorianZ am 20 Juli 2017, 11:41:11
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
Titel: Antw:Neues Modul 98_alarmclock ein Fhem Wecker
Beitrag von: Fixel2012 am 20 Juli 2017, 12:51:23
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
Titel: Antw:Neues Modul 98_alarmclock ein Fhem Wecker
Beitrag von: pwlr am 20 Juli 2017, 13:06:25
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


Titel: Antw:Neues Modul 98_alarmclock ein Fhem Wecker
Beitrag von: FlorianZ am 20 Juli 2017, 13:58:45
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
Titel: Antw:Neues Modul 98_alarmclock ein Fhem Wecker
Beitrag von: Papaloewe am 21 Juli 2017, 17:08:06
Ich möchte das Modul auch gerne testen und frage ich mich gerade worin der Unterschied zwischem dem Holiday- und Vacantion-Device liegt?

Sorry, vielleicht wurde das auch schon beantwortet aber ich habe noch nicht den ganzen Thread durch.  8)

Gruß
Thomas
Titel: Antw:Neues Modul 98_alarmclock ein Fhem Wecker
Beitrag von: FlorianZ am 22 Juli 2017, 12:58:08
Hallo Thomas,

Man kann mit HolidayDevice ( für Feiertage) und VacationDevice ( für Ferien und Urlaub) verschiedene
Kalender oder Holiday-Dateien anlegen, um unterschiedliche Weckzeiten, je nach "Typ" des Tages zu ermöglichen.Sollte am gleichen Tag Holiday und Vacation wahr sein, greift die AlarmTime_Holiday

Gruß
Florian
Titel: Antw:Neues Modul 98_alarmclock ein Fhem Wecker
Beitrag von: FlorianZ am 23 Juli 2017, 12:33:49
Hallo zusammen,

Es gibt ein Update von 98_alarmclock.
Neu hinzugekommen ist das Attribut WeekprofileName, welches eigene
Namen für die Wochenprofile ermöglicht.
attr <name> WeekprofileName MeineWoche1,MeineWoche2,MeineWoche3
Die Profilnamen werden mit Komma getrennt.

Gruß
Florian

P.S. Nicht mehr benötigte Weekprofile Readings können mit deletereading entfernt werden.


Titel: Antw:Neues Modul 98_alarmclock ein Fhem Wecker
Beitrag von: Papaloewe am 23 Juli 2017, 19:01:21
Hallo Florian,

ich hätte da noch eine Frage zu den Presence Attributen in deinem Modul.
Du schreibst:
Zitat
Es können mehrere PresenceDevice getrennt mit | (Pipe-Symbol) angegeben werden.
Ein "Mischbetrieb" der verschiedenen PresenceDevice Möglichkeiten, ist ebenfalls möglich.
<devicename>:<readingname>: <value>|<devicename>|<devicename>:<value>

Desweiteren habe ich HolidayDevice um die Mehrfachangabe erweitert.
Trenner ist ebenfalls | (Pipe-Symbol).
Hier ist das mischen der verschiedenen Möglichkeiten genauso möglich.

Bisher kenne ich das Pipe-Zeichen im Perl-Syntax für ein ODER-Verknüpfung.
Das macht meiner Meinung nach aber bei Presence keinen Sinn, da der Alarm nur aussetzen soll wenn z.B. beide Partner nicht da sind.

Wie ist das in deinem Modul für die Presenceabfrage hinterlegt? Also ODER, oder als UND?

Danke & Gruß
Thomas
Titel: Antw:Neues Modul 98_alarmclock ein Fhem Wecker
Beitrag von: FlorianZ am 23 Juli 2017, 19:22:20
Hallo Thomas,

Die PresenceDevice sind mit oder verknüpft.
Ich bin eigentlich immer davon ausgegangen, pro Person ein
Wecker.

Gruß
Florian
Titel: Antw:Neues Modul 98_alarmclock ein Fhem Wecker
Beitrag von: Papaloewe am 23 Juli 2017, 19:29:22
Wenn ich dann einen Wünsch äußern dürfte, das wahlweise per ODER, oder per UND verknüpfen zu können.

Begründung: In einem gemeinsamen schlafzimmer haben Paare ggf. auch nur einen gemeinsamen Wecker.

Danke Dir für das prima Modul.

Gruß
Thomas

P.S.: Ich würde als UND-Veknüpfungszeichen dann das "&" vorschlagen.
Titel: Antw:Neues Modul 98_alarmclock ein Fhem Wecker
Beitrag von: FlorianZ am 23 Juli 2017, 19:42:48
Wenn ich dann einen Wünsch äußern dürfte, das wahlweise per ODER, oder per UND verknüpfen zu können.
Schaue ich mir nächste Woche mal an.

Gruß
Florian
Titel: Antw:Neues Modul 98_alarmclock ein Fhem Wecker
Beitrag von: Papaloewe am 28 Juli 2017, 13:47:47
Hallo Florian,

ich konnte mir erstmal mit einer STRUCTURE für die beiden Presence-Devices helfen.
Soweit läuft dein Modul einwandfrei.  :)

Noch eine Frage:
Wird ein EventForAlarmOff auch erkannt während ein Snooze-Timer läuft?

Gruß Thomas
Titel: Antw:Neues Modul 98_alarmclock ein Fhem Wecker
Beitrag von: FlorianZ am 28 Juli 2017, 14:32:22
Hallo Thomas,

das EventForAlarmOff kann auch während ein Snooze-Timer läuft den Alarm beenden.

Gruß
Florian
Titel: Antw:Neues Modul 98_alarmclock ein Fhem Wecker
Beitrag von: Fixel2012 am 16 August 2017, 18:24:14
Hallo zusammen,

ich hatte seit Monaten seltsame Log Einträge. Diese kamen wohl von TabletUI und von Florian sein Wecker Template.

Konnte den Fehler hier  (https://forum.fhem.de/index.php/topic,75399.0.html)mit Hilfe von setstate ausfindig machen.

Wollte nur kurz darüber Informieren, und Florian bitten das vielleicht so zu übernehmen.  Nicht das jemand anders die gleichen Probleme kriegt.

Gruß Fixel
Titel: Antw:Neues Modul 98_alarmclock ein Fhem Wecker
Beitrag von: FlorianZ am 17 September 2017, 16:11:50
Hallo Fixel

Vielen Dank für den Hinweis. Ich habe es im Template angepasst.

Gruß
Florian
Titel: Antw:Neues Modul 98_alarmclock ein Fhem Wecker
Beitrag von: ThoTo am 24 Oktober 2017, 17:49:51
Hallo Florian,

erstmal danke für das coole Modul - einfach und doch genial  :)

Du hast im Beitrag https://forum.fhem.de/index.php/topic,62992.msg644112.html#msg644112 (https://forum.fhem.de/index.php/topic,62992.msg644112.html#msg644112) von einem neuen Feature geschrieben. Hast du das je umgesetzt? Gerade für Wochentage/Wochenende könnte ich die unterschiedlichen Routinen gut gebrauchen.

Habe noch eine Frage zum Attribut AlarmRoutine: Wie interpretierst du die Zeilen? Ich versuche FHEM-Befehle und Perl-Code zu mischen, aber das klappt nicht so ganz.

set OGSZ.AV.Squeezebox_Player favorites Antenne_Steiermark;
{my $wetter = ReadingsVal("Wetter_WW","fc0_text","");;$wetter =~ s/C/ /;;fhem("sleep 5; set OGSZ.AV.Squeezebox_Player sayText |Snooze.mp3| guten morgen ihr zwei. das wetter ist: $wetter");;};
OGSZ.AV.Squeezebox_Player volume 20;
OGSZ.AV.Squeezebox_Player sleep 01:00:00;
Ist die Syntax soweit OK?

LG Thomas
Titel: Antw:Neues Modul 98_alarmclock ein Fhem Wecker
Beitrag von: FlorianZ am 24 Oktober 2017, 19:24:17
Hallo Thomas,

ich habe leider gerade keine Möglichkeit selber zu testen.
Versuche doch mal alles mit Perl:
{
fhem("set OGSZ.AV.Squeezebox_Player favorites Antenne_Steiermark");;
my $wetter = ReadingsVal("Wetter_WW","fc0_text","");;
$wetter =~ s/C/ /;;
fhem("sleep 5; set OGSZ.AV.Squeezebox_Player sayText |Snooze.mp3| guten morgen ihr zwei. das wetter ist: $wetter");;
fhem("set OGSZ.AV.Squeezebox_Player volume 20");;
fhem("set OGSZ.AV.Squeezebox_Player sleep 01:00:00");;
}

Du hast im Beitrag https://forum.fhem.de/index.php/topic,62992.msg644112.html#msg644112 (https://forum.fhem.de/index.php/topic,62992.msg644112.html#msg644112) von einem neuen Feature geschrieben. Hast du das je umgesetzt? Gerade für Wochentage/Wochenende könnte ich die unterschiedlichen Routinen gut gebrauchen.

Läuft bei mir in einer Testversion. Werde ich im Winter mit einbauen.

Gruß
Florian
Titel: Antw:Neues Modul 98_alarmclock ein Fhem Wecker
Beitrag von: ThoTo am 25 Oktober 2017, 15:49:40
Danke dir für den Hinweis zum Perl-Code, damit hats auch nicht geklappt.

Der Fehler war das einfache Semikolon nach dem sleep - mit einem doppelten ;; klappt der Befehl.
Interessanterweise habe ich das 1:1 aus einem bestehenden DOIF kopiert - dort funktioniert die Zeile auch mit einem Semikolon.

Woran liegt das?

LG Thomas
Titel: Antw:Neues Modul 98_alarmclock ein Fhem Wecker
Beitrag von: ComputerZOO am 25 Oktober 2017, 21:18:50
Moin,

in einem DOIF werden die Befehle aber mit einem einzelnen Komma getrennt.
Titel: Antw:Neues Modul 98_alarmclock ein Fhem Wecker
Beitrag von: ThoTo am 25 Oktober 2017, 21:54:52
Moin,

in einem DOIF werden die Befehle aber mit einem einzelnen Komma getrennt.

Danke für die Klarstellung!! Ich bin davon ausgegangen dass das gleich sein müsste.
Titel: Antw:Neues Modul 98_alarmclock ein Fhem Wecker
Beitrag von: Fixel2012 am 29 Oktober 2017, 02:46:05
Hallo Florian,

mir ist mit der Zeit aufgefallen, dass ich beim Wecken die Musik von Radio auf Spotify ändere und anschließend einfach aus mache.

Ich habe den trigger zum deaktivieren des Alarms vom Sonos Play/Pause Knopf leider auf einen DashButton ändern müssen. (Ich Hatte Fehlalarme, der Wecker ging alle Paar Wochen nach 5 Sekunden direkt wieder aus). Somit wird beim ausmachen der Musik nicht mehr automatisch der Wecker deaktiviert.

Mein Problem ist nun, dass der Wecker in Fhem am nächsten Morgen teilweise immernoch auf "running" steht. Er klingelt dann nicht mehr  ???

Wäre es möglich ein optionales Attribut hinzuzufügen, dass eine maxAlarmTime definiert? Wenn diese Zeit erreicht wird beispielsweise 2 Stunden (120 Minuten) wird der Wecker automatisch gestoppt.

Zusätzlich ist mir persönlich aufgefallen, dass mir eine HardAlarmRoutine nicht ausreicht ;D Meinst du es wäre möglich das um HarAlarmRoutine_2 zu erweitern?  :P

Wäre echt Super, wenn du das bei Gelegenheit einrichten könntest. Nimm dir ruhig Zeit, ist nicht eilig!

Danke und Gruß,

Fixel
Titel: Antw:Neues Modul 98_alarmclock ein Fhem Wecker
Beitrag von: FlorianZ am 29 Oktober 2017, 10:05:45
Guten Morgen Fixel,

Wäre es möglich ein optionales Attribut hinzuzufügen, dass eine maxAlarmTime definiert? Wenn diese Zeit erreicht wird beispielsweise 2 Stunden (120 Minuten) wird der Wecker automatisch gestoppt.
diese Funktion gibt es bereits:MaxAlarmDurationInSec
attr <name> MaxAlarmDurationInSec 7200
Was meinst du mit Fehlalarme? Gibt es ein Problem mit dem Modul, oder ist es auf dein Setup zurückzuführen?

Gruß
Florian

Titel: Antw:Neues Modul 98_alarmclock ein Fhem Wecker
Beitrag von: Fixel2012 am 29 Oktober 2017, 10:45:22
Das es dieses Attribut schon gab wusste ich nicht, danke dir!!

Es ist wohl eher ein Problem mit meinem Setup, so ganz genau kann ich nicht sagen woran es lag. Jedenfalls wurde nach nur wenigen Sekunden der Alarm wieder ausgestellt. Nach ändern des alarmoff triggers habe ich keine Fehlalarme mehr. könnte mir vorstellen dass es etwas mit dem Sonos Modul zu tun hat.

Danke noch ein schönes Wochenende,

Fixel

Gesendet von meinem ONEPLUS A3003 mit Tapatalk

Titel: Antw:Neues Modul 98_alarmclock ein Fhem Wecker
Beitrag von: Borkk am 02 November 2017, 08:30:13
Hallo Zusammen,

ich möchte mit Alarmclock morgens um 5:58 Uhr eine Lampensequenz starten und in ca 30 min soll der Alarm automatisch gestoppt werden und die Lampe ausgeschaltet werden.

für den Start habe ich:
AlarmRoutine = set sz_kugel pct 1 : ct 2000 ; set sz_kugel pct 100 : ct 5000 : transitiontime 1800gesetzt und das klappt auch:

zum beenden:
MaxAlarmDurationInSec =2000
AlarmRoutineOff = set sz_kugel off; set wecker stop Alarm

ob das geht kann ich nicht sagen da dann mein FHEM crasht: :-(

2017.11.02 06:31:25 1: PERL WARNING: Deep recursion on subroutine "main::alarmclock_alarmroutine_stop" at ./FHEM/98_alarmclock.pm line 355.
2017.11.02 06:31:25 1: PERL WARNING: Deep recursion on subroutine "main::fhem" at ./FHEM/98_alarmclock.pm line 744.
2017.11.02 06:31:25 1: PERL WARNING: Deep recursion on subroutine "main::AnalyzeCommandChain" at fhem.pl line 3488.
2017.11.02 06:31:25 1: PERL WARNING: Deep recursion on subroutine "main::AnalyzeCommand" at fhem.pl line 1027.
2017.11.02 06:31:25 1: PERL WARNING: Deep recursion on subroutine "main::CommandSet" at fhem.pl line 1174.
2017.11.02 06:31:25 1: PERL WARNING: Deep recursion on subroutine "main::DoSet" at fhem.pl line 1778.
2017.11.02 06:31:25 1: PERL WARNING: Deep recursion on subroutine "main::CallFn" at fhem.pl line 1745.
2017.11.02 06:31:25 1: PERL WARNING: Deep recursion on subroutine "main::alarmclock_Set" at fhem.pl line 3443.
Out of memory!


Titel: Antw:Neues Modul 98_alarmclock ein Fhem Wecker
Beitrag von: FlorianZ am 02 November 2017, 10:32:27
Hallo Borkk,

entferne bitte aus der AlarmRoutineOff: set wecker stop Alarm
Der Alarm wird durch MaxAlarmDurationInSec gestoppt.

Sollte es nicht funktionieren, bitte ein list von Alarmclock posten.

Gruß
Florian

Titel: Antw:Neues Modul 98_alarmclock ein Fhem Wecker
Beitrag von: Borkk am 02 November 2017, 11:01:46
ok, ich werde berichten.
Titel: Antw:Neues Modul 98_alarmclock ein Fhem Wecker
Beitrag von: Borkk am 07 November 2017, 00:12:26
Ok, es klappt jetzt. Danke. Trotzdem sollte das Modul nicht gleich das ganze System wegen sowas auf den Bauch legen  ;)
Titel: Antw:Neues Modul 98_alarmclock ein Fhem Wecker
Beitrag von: sasquuatch am 04 Dezember 2017, 09:51:39
Moin.
Eine bitte, kann der Text des 1. Post auch im deutschen Teil der Commandref stehen?
Nicht jeder ist dem englischen so mächtig, dass er die Commandref auf englisch gut versteht und dann muss man sich in diesem forum gerne mal (und zwar zurecht!) anhören, lies die commandref. Dann wäre aber der deutsche Text sehr hilfreich.

1. Hat es irgendeiner verwirklicht, dass man ein Drop Down Menü hat, mit allen Uhrzeiten, mit allen Wochentagen, mit allen Befehlen?
Es macht wenig Spaß am Handy in ein Device zu gehen und da irgendetwas einzugeben. Ich nutze FhemWidget (http://tasior.info:8081/fhemwidget2_de) und da habe ich für meinen selbst gebauten Wecker ein Dummy (der rest notify und myUtils), bei dem ich einfach nur noch die Uhrzeit auswähle. Abends vorm schlafen gehen, einfach die neue Uhrzeit wählen und gut. Da mag man nicht noch den Befehl raus suchen und die neue Uhrzeit eintragen. Selbst Wochenprofile bringen leider für "mich" nichts, da ich nicht zu so festen Zeiten aufstehe.

2. Gibt es die Möglichkeit bestimmte Befehle vor der Weckzeit auszulösen?
Z.b. soll die Badheizung 40 min vor der Weckzeit hochfahren oder die Kaffeemaschine erst 20 min nach der Weckzeit angehen.

3. Gibt es die Möglichkeiten diese Befehle durch einfaches on/off dazu zu nehmen oder abzuschalten?
Sprich ich kann Abends die Badheizung auf off schalten, damit diese am Morgen nicht hochfährt, aber die Kaffeemaschine und das Radio lasse ich auf on, da nur die beiden sich einschalten sollen, etc.
Titel: Antw:Neues Modul 98_alarmclock ein Fhem Wecker
Beitrag von: Fixel2012 am 04 Dezember 2017, 11:01:00
2. Gibt es die Möglichkeit bestimmte Befehle vor der Weckzeit auszulösen?
Z.b. soll die Badheizung 40 min vor der Weckzeit hochfahren oder die Kaffeemaschine erst 20 min nach der Weckzeit angehen..

Gibt es, nennt sich prealarmtime. Allerdings kann man nur eine Zeit angeben.
Titel: Antw:Neues Modul 98_alarmclock ein Fhem Wecker
Beitrag von: sasquuatch am 04 Dezember 2017, 12:51:02
ist für eine Schaltung nach Alarmzeit was geplant, quasi "afteralarmtime"?
Titel: Antw:Neues Modul 98_alarmclock ein Fhem Wecker
Beitrag von: FlorianZ am 04 Dezember 2017, 20:16:00
Hallo sasquuatch,

um eine Aktion nach Beendigung des Alarms auszulösen, würde ich dir ein temporäres at
in der AlarmRoutineOff empfehlen.
attr <name> AlarmRoutineOff define -temporary atTmp_Kaffeemaschine_aus at +00:20:00 set Kaffeemaschine aus
So wird die Kaffeemaschine 20 Minuten nach AlarmOff ausgeschalten.

Gruß
Florian
Titel: Antw:Neues Modul 98_alarmclock ein Fhem Wecker
Beitrag von: sasquuatch am 05 Dezember 2017, 10:45:28
stimmt, so könnte man auch mehrere Befehle in einem prealarmtime verwirklichen mit unterschiedlichen Zeiten. Mit einem at hat man ohnehin viele Möglichkeiten wie variablen, in Verbindung mit einem Dummy ob, etc..
Titel: Antw:Neues Modul 98_alarmclock ein Fhem Wecker
Beitrag von: arthur_dent_2015 am 26 Dezember 2017, 19:57:10
Moin Florian,
ich hab mir auch mal einen Wecker eingerichtet und will damit diverse selbst geschriebene Timer ablösen. So ganz bekomm ich es aber noch nicht gebacken. Was will mir alarmcklock mit diesen Meldungen sagen:
2017.12.26 09:00:01 1: alarmclock: Wecker - absent
2017.12.26 09:00:01 1: alarmclock: Wecker - holiday => Nds - 2. Weihnachtstag, Urlaub
2017.12.26 09:00:01 5: alarmclock: Wecker - midnight-timer created with 54004 sec.
2017.12.26 09:00:01 5: alarmclock: Wecker - alarm time today has been in the past => midnight-timer started.

List vom device:
Internals:
   CFGFN     
   NAME       Wecker
   NR         1082
   NTFY_ORDER 50-Wecker
   STATE      OK
   TYPE       alarmclock
   READINGS:
     2017-12-22 15:11:01   AlarmTime1_Monday 07:00
     2017-12-22 15:11:01   AlarmTime2_Tuesday 07:00
     2017-12-22 15:11:01   AlarmTime3_Wednesday 07:00
     2017-12-22 15:11:01   AlarmTime4_Thursday 07:00
     2017-12-22 15:11:01   AlarmTime5_Friday 07:00
     2017-12-24 09:34:12   AlarmTime6_Saturday 09:00
     2017-12-24 09:34:12   AlarmTime7_Sunday 09:00
     2017-12-22 15:11:20   AlarmTime8_Holiday 09:00
     2017-12-26 19:15:48   AlarmToday      09:00
     2017-12-26 19:15:48   AlarmTomorrow   09:00
     2017-12-26 19:15:48   state           OK
   helper:
     Repeat1    0
     Repeat2    0
     Repeat3    0
     Today      8
     Tomorrow   8
     bm:
       alarmclock_Notify:
         cnt        1509
         mAr        HASH(0x589d410); HASH(0x43beff8)
         max        2
         tot        4
Attributes:
   AlarmRoutine {fhem("set MyTTS2 tts Guten Morgen. Es ist jetzt $hour Uhr $min . Zeit um aufzustehen.")}
   EventForAlarmOff ET1:state:opened
   HardAlarmRoutine set Fritzbox ring 612 60
   HardAlarmTimeInSec 1500
   HolidayCheck 1
   HolidayDevice Nds
   PresenceCheck 1
   PresenceDevice atHome:state:present|ET1:state:closed
   SnoozeTimeInSec 600
   event-on-update-reading AlarmToday
   verbose    5

Gruß
Arthur
Titel: Antw:Neues Modul 98_alarmclock ein Fhem Wecker
Beitrag von: FlorianZ am 26 Dezember 2017, 21:14:19
Hallo Arthur

Die Meldungen sind nur Hinweise und keine Fehlermeldungen.

Alarmclock sollte bei dir heute um 09:00 Uhr wecken
AlarmTime8_Holiday 09:00
Holiday wurde auch erkannt mit der Logmeldung
alarmclock: Wecker - holiday => Nds - 2. Weihnachtstag, Urlaub

Alarmclock hat aber wegen dem PresenceDevice nicht ausgelöst.
Logmeldung:
alarmclock: Wecker - absent

Ich sehe gerade in deinem List vom alarmclock, dass du das PresenceDevice
falsch angelegt hast.

Richtig wäre:
PresenceDevice atHome:state:absent|ET1:state:open

Bei PresenceDevice wird der Wert für nicht anwesend angegeben.

Gruß
Florian
Titel: Antw:Neues Modul 98_alarmclock ein Fhem Wecker
Beitrag von: sasquuatch am 27 Dezember 2017, 11:37:21
ich war ja am anfang mehr als skeptisch mit dem modul, muss aber inzwischen sagen top arbeit, ich bin begeistert.

einziges was mir nicht gefällt, ist dass der prealarm in sek ist und nicht in minuten, ansonsten finde ich es toll und wünsche mir so was einfaches würde es für die presence steuerung geben. ich vermute da könnte es inzwischen was geben, ich kenne es nur noch nicht, so wie mit alarmclock

Weswegen ich aber hier schreibe ist, ich habe ein problem ein dummy mit DOIF zu programmieren, dass mir arlamclock aus der Zeit des dummy eingestellt wird.

mein Dummy:
define WeckerNeuWerktageDummy dummy
attr WeckerNeuWerktageDummy alias Neuer Wecker Werktage stellen
attr WeckerNeuWerktageDummy devStateIcon Aus:general_aus@red
attr WeckerNeuWerktageDummy genericDeviceType switch
attr WeckerNeuWerktageDummy group Wecker Neu
attr WeckerNeuWerktageDummy room Wecker
attr WeckerNeuWerktageDummy setList state:Aus,05:00,05:15,05:30,05:45,06:00,06:15,06:20,06:25,06:30,06:35,06:40,06:45,06:50,06:55,07:00,07:05,07:10,07:15,07:20,07:25,07:30,07:45,08:00,08:15,08:30,08:45,09:00,09:15,09:30,09:35,09:40,09:45,09:50,09:55,10:00,10:15,10:20,10:25,10:30,10:35,10:40,10:45,10:50,10:55,11:00,11:05,11:10,11:15,11:20,11:25,11:30,11:35,11:40,11:45,11:50,11:55,12:00,12:05,12:10,12:15,12:20,12:25,12:30,12:45,12:50,12:55,13:00,13:05,13:10,13:15,13:30,13:45,14:00,14:15,14:30,14:45,14:50,14:55,15:00,15:05,15:10,15:15,15:20,15:25,15:30,15:35,15:40,15:45,15:55,16:00,16:05,16:10,16:15,16:20,16:25,16:30,16:35,16:40,16:45,16:50,16:55,17:00,17:05,17:10,17:15,17:30,17:45,18:00,18:15,18:30,18:45,19:00,19:15,19:30,19:45,20:00,20:15,20:20,20:30,20:45,21:00,21:15,21:25,21:30,21:35,21:40,21:45,21:50,21:55,22:00,22:15,22:30,22:45,23:00,23:15,23:30,23:45,00:00,00:15,00:30,00:45,01:00,01:15,01:30,01:45,02:00,02:15,02:30,02:45,03:00,03:15,03:30,03:45,04:00,04:15,04:30,04:45
attr WeckerNeuWerktageDummy webCmd state:Aus

mein DOIF:
define AlarmclockDOIF DOIF ([WeckerNeuWerktageDummy:"Aus"]) (set WeckerWerktageAlarmclock AlarmOff Weekdays)\
DOELSEIF\
([WeckerNeuWerktageDummy:"05:00|05:15|05:30|05:45|06:00|06:15|06:20|06:25|06:30|06:35|06:40|06:45|06:50|06:55|07:00|07:05|07:10|07:15|07:20|07:25|07:30|07:45|08:00|08:15|08:30|08:45|09:00|09:15|09:30|09:35|09:40|09:45|09:50|09:55|10:00|10:15|10:20|10:25|10:30|10:35|10:40|10:45|10:50|10:55|11:00|11:05|11:10|11:15|11:20|11:25|11:30|11:35|11:40|11:45|11:50|11:55|12:00|12:05|12:10|12:15|12:20|12:25|12:30|12:45|12:50|12:55|13:00|13:05|13:10|13:15|13:30|13:45|14:00|14:15|14:30|14:45|14:50|14:55|15:00|15:05|15:10|15:15|15:20|15:25|15:30|15:35|15:40|15:45|15:55|16:00|16:05|16:10|16:15|16:20|16:25|16:30|16:35|16:40|16:45|16:50|16:55|17:00|17:05|17:10|17:15|17:30|17:45|18:00|18:15|18:30|18:45|19:00|19:15|19:30|19:45|20:00|20:15|20:20|20:30|20:45|21:00|21:15|21:25|21:30|21:35|21:40|21:45|21:50|21:55|22:00|22:15|22:30|22:45|23:00|23:15|23:30|23:45|00:00|00:15|00:30|00:45|01:00|01:15|01:30|01:45|02:00|02:15|02:30|02:45|03:00|03:15|03:30|03:45|04:00|04:15|04:30|04:45"]) \
(set WeckerWerktageAlarmclock AlarmTime_Weekdays '.ReadingsVal('WeckerNeuWerktageDummy','state','0'))\

attr AlarmclockDOIF group alarmclock
attr AlarmclockDOIF room Wecker

Mein Problem dabei ist dieser Befehl
set WeckerWerktageAlarmclock AlarmTime_Weekdays '.ReadingsVal('WeckerNeuWerktageDummy','state,'0')Gebe ich diesen Befehl in die Kommandozeile von FHEM, dann kommt folgende Fehlermeldung
Please Set AlarmTime_Weekdays HH:MM
weiß jemand was ich falsch mache?
Titel: Antw:Neues Modul 98_alarmclock ein Fhem Wecker
Beitrag von: FlorianZ am 01 Januar 2018, 15:47:25
Hallo

Die Meldung von alarmclock sagt, dass das Zeitformat nicht stimmt.
Lass doch mal testweise die Ausgabe deines Doif in einen Dummy schreiben, um
zu sehen was da ankommt.

Gruß Florian
Titel: Antw:Neues Modul 98_alarmclock ein Fhem Wecker
Beitrag von: choenig am 01 Januar 2018, 16:01:24
Hi,

mir erschliesst sich nicht, was folgendes tun soll:

set WeckerWerktageAlarmclock AlarmTime_Weekdays '.ReadingsVal('WeckerNeuWerktageDummy','state,'0')

Wozu ist das '. vor dem ReadingsVal?

Aber auf jeden Fall solltest Du es innerhalb des DOIFs so schreiben können:

(set WeckerWerktageAlarmclock AlarmTime_Weekdays [WeckerNeuWerktageDummy:state])

Und das ":state" kannst Du vermutlich auch noch weglassen.

LG
Christian
Titel: Antw:Neues Modul 98_alarmclock ein Fhem Wecker
Beitrag von: CoolTux am 01 Januar 2018, 17:33:44
set WeckerWerktageAlarmclock AlarmTime_Weekdays '.ReadingsVal('WeckerNeuWerktageDummy','state,'0')

Das kann so nicht funktionen.
Wenn dann
set WeckerWerktageAlarmclock AlarmTime_Weekdays [WeckerNeuWerktageDummy]
Titel: Antw:Neues Modul 98_alarmclock ein Fhem Wecker
Beitrag von: sasquuatch am 01 Januar 2018, 19:49:44
danke, jetzt habe ich es endlich.

es geht übrigens beides, sowohl:
set WeckerWerktageAlarmclock AlarmTime_Weekdays [WeckerNeuWerktageDummy]
als auch
(set WeckerWerktageAlarmclock AlarmTime_Weekdays [WeckerNeuWerktageDummy:state])
allerdings muss ich mir nochmal was überlegen, den wenn ich die zeit einmal im dummy gesetzt habe und setze eine neue, gibt es keine veränderung druch das DOIF. ich muss also erst auf Aus gehen und dann eine neue Zeit eingeben, damit die zeit im Alarmclock geändert wird.
Titel: Antw:Neues Modul 98_alarmclock ein Fhem Wecker
Beitrag von: choenig am 01 Januar 2018, 19:52:37
Hi,

das sind jetzt natürlich DOIF-spezifische Probleme, nicht mehr alarmclock-spezifische :).

Ein do always sollte das Problem im DOIF lösen.

LG
Christian
Titel: Antw:Neues Modul 98_alarmclock ein Fhem Wecker
Beitrag von: sasquuatch am 01 Januar 2018, 20:10:27
Oh, dass wollte ich jetzt damit nicht sagen, dass es am Clockalarm liegt, dachte ist klar das es am DOIF liegt.

Und "do always" ist mir ganz neu, danke dafür, damit geht's super


Gesendet von iPhone mit Tapatalk
Titel: Antw:Neues Modul 98_alarmclock ein Fhem Wecker
Beitrag von: gloob am 12 Februar 2018, 08:24:34
Kann man die Alarmclock eigentlich automatisch nach dem Ausführen von "AlarmRoutine" auf "Off" schalten



Edit: natürlich gibt es das:
MaxAlarmDurationInSec = 1
Titel: Antw:Neues Modul 98_alarmclock ein Fhem Wecker
Beitrag von: Borkk am 06 April 2018, 09:03:31
Probleme nach mehrmaligen disable/enable.

Ich nutze das Modul für meine werktägliche Weckroutine und es arbeitet wunderbar. Da ich oft auf Dienstreise bin und dann die Routine nicht benötige, habe ich das Modul mit meiner Anwesenheitserkennung verknüpft. Also ganz simpel, bin ich da = Set wecker disable 0 und bin ich nicht da = set wecker disable 1. Das hat auch ein paar Wochen funktioniert. Bis auf einmal morgens die Routine nicht los lief. Im Modul war der State noch auf disabled. Und er lies sich auch nicht verändern. Ich habe den Befehl zum enablen direkt über Set... eingegeben ohne Erfolg. Ich habe sogar in der fhem.cfg die Zeile mit dem Disable Befehl gelöscht auch ohne Erfolg. Natürlich habe ich immer gespeichert und fhem neu gestartet. Das Modul lies sich ums verrecken nicht mehr enablen. Schließlich habe ich es gelöscht und neu angelegt, seit dem funktioniert es wieder. Die Verknüpfung mit der Anwesenheit habe ich jedoch raus genommen.

Durch die Verknüpfung wurde das Modul mehrmals täglich ein/aus geschaltet. evtl. ist das so nicht vorgesehen und ist nach dem x mal in einen Fehler gelaufen. Ich kann nur schätzen wie oft das Modul ein/aus geschaltet wurde. ich denke mal der Fehler trat nach 15 -20 x hin und her schaltet auf.

Es scheint ja auch ein eigener "Disable" zu sein, da er ja nicht wie z.B. bei einem Notify als attr... gesetzt wird sondern direkt über Set ...

Ich hoffe ich konnte das Problem halbwegs darstellen. Mehr Infos oder log habe ich nicht. 
 
Titel: Antw:Neues Modul 98_alarmclock ein Fhem Wecker
Beitrag von: sasquuatch am 06 April 2018, 12:14:19
Du könntest statt disable ein DOIF programmieren. bei Abwesenheit wir die Zeit gelöscht und wenn du da bist, wird die Weckzeit wieder eingetragen. Du könntest sogar ein Dummy mit Urzeiten anlegen, je nachdem welche dort steht, wird vom DOIF diese Zeit in deinem Wecker eingetragen


Gesendet von iPhone mit Tapatalk
Titel: Antw:Neues Modul 98_alarmclock ein Fhem Wecker
Beitrag von: FlorianZ am 07 April 2018, 12:50:51
Hallo Borkk,

Es gibt in alarmclock genau für deinen Anwendungsfall das Attribut PresenceDevice.
Ein extra DOIF usw. wird nicht benötigt. Der Alarm löst nur bei Anwesenheit aus.

Zitat
   ⦁    PresenceDevice
        Name eines presence device.
        Es gibt 3 Möglichkeiten:
                 1. PresenceDevice des Typs PRESENCE
                 attr <name> PresenceDevice <devicename>
                 Alarmclock storniert den anstehenden Alarm, wenn state den Wert absent besitzt.
                 2. Auf state eines Device. Bsp. Dummy als PresenceDevice
                 attr <name> PresenceDevice <devicename>:<value>
                 <value> stellt hierbei den Wert für "absent" dar und steht im Reading state.
                  Bsp.: attr <name> PresenceDevice Mein_Presence_Dummy:absent
                  Alarmclock storniert den anstehenden Alarm,wenn der state des Dummy den Wert absent besitzt.
                 3. Auf ein Reading eines Device.
                 attr <name> PresenceDevice <devicename>:<readingname>: <value>
                 <value> stellt den Wert für "absent" dar und steht im Reading <readingname>.
                  Bsp.: attr <name> PresenceDevice Mein_Presence_Dummy:Bewohner1: Abwesend
        Getrennt durch | (pipe) können mehrere PresenceDevice angegeben werden.
   ⦁   PresenceCheck
        1 aktiviert
        0 deaktiviert

Gruß
Florian



Titel: Antw:Neues Modul 98_alarmclock ein Fhem Wecker
Beitrag von: Borkk am 09 April 2018, 22:44:25
Hallo Florian,

in der Tat habe ich das mit dem Presence Attribut auch schon gesehen und ich werde es mir mal anschauen. Es war halt schon einfach in mein an/abwesenheits script musste ich nur eine Zeile einfügen. :-)

Es bleibt aber trotzdem die Frage, warum das Modul nach n mal dis-/enable schalten, komplett stirbt.

Danke für die schnelle Hilfe.
Titel: Antw:Neues Modul 98_alarmclock ein Fhem Wecker
Beitrag von: Borkk am 09 April 2018, 23:41:16
Hallo Florian,

Nochmal ne blöde Frage. Der Presence Status wechselt ja nach einer Zeit von „absent“ in „gone“. Wie reagiert alarmclock darauf. Schalter das Modul dann wieder scharf weil <value> nicht mehr „absent“ ist?
Titel: Antw:Neues Modul 98_alarmclock ein Fhem Wecker
Beitrag von: FlorianZ am 11 April 2018, 08:59:54
Hallo Borkk,

Du kannst mehrere Devices oder Readings angeben, bei denen der Alarm storniert werden soll.
attr <name> PresenceDevice MeinPresenceStatus:absent|MeinPresenceStatus:gone

Wenn state von MeinPresenceStatus absent oder gone ist, wird der Alarm storniert.

Warum das Modul bei dir nach dis-/enable stirbt, kann ich jetzt so ohne Log nicht nachvollziehen.
Ich werde das am We bei mir versuchen nachzustellen.

Gruß
Florian
Titel: Antw:Neues Modul 98_alarmclock ein Fhem Wecker
Beitrag von: aeronaut am 12 Mai 2018, 11:51:06
Hi Florian, ich schau mir gerade dein Modul an und habe ein paar Fragen zu meinen spezifischen Anforderungen:

1. Es müssen mehrere Dinge vor einem Alarm abgearbeitet werden, z.B. 15 Minuten vorher die Badheizung eingeschaltet und 5 Minuten vorher das Aufwachlicht eingeschaltet werden, ggf. noch etwas drittes. So wie ich das sehe, gibt es mit PreAlarmRoutine nur einen einzigen Trigger, oder übersehe ich etwas?

2. Zur Kontrolle der eingestellten Weckzeit möchte ich in FTUI einen Text ausgeben, in etwa "Wecker klingelt in 1 Tag, 3 Stunden und 45 Minuten", in Abhängigkeit von Werktag/Wochenende/Holiday. Das müsste ich mir aus den Readings manuell basteln?

lg
aeronaut
Titel: Antw:Neues Modul 98_alarmclock ein Fhem Wecker
Beitrag von: FlorianZ am 12 Mai 2018, 12:08:14
Hallo aeronaut,

Zu 1.
Du könntest dir in der PreAlarmRoutine mehrere einmalige At´s anlegen, um vor dem Alarm,
zu verschiedenen Zeiten etwas auszuführen.
attr <name> PreAlarmRoutine define -temporary atTmp_Badheizung_ein at +00:05:00 set Badheizung ein; define -temporary atTmp_Licht_ein at +00:15:00 set Licht ein
Zu 2.
Ja das müsstest du dir aus dem Reading AlarmToday bzw. AlarmTomorrow selbst berechnen.


vg
Florian
Titel: Antw:Neues Modul 98_alarmclock ein Fhem Wecker
Beitrag von: aeronaut am 12 Mai 2018, 13:42:28
Alles klar, dann gehe ich den Weg mit den at's.

AlarmTomorrow wird nicht in jedem Fall reichen, ein AlarmNext schon eher, aber das würde schon frickelig werden, man bräuchte einen Timestamp in Sekunden ...

Danke für dein Modul  :D

lg
aeronaut
Titel: Antw:Neues Modul 98_alarmclock ein Fhem Wecker
Beitrag von: habl am 21 Mai 2018, 08:19:43
Hallo Florian,

ich habe nach Update vom Calendar Modul immer die Empfehlung
2018.05.21 08:09:40 2: get myCalUrlaub events full is deprecated and will be removed soon. Use get myCalUrlaub events instead.erhalten, was ja eigentlich nicht schlimm ist. Doch seit heute erhallte ich von Stacktrace auch noch diesen Fehler im Log:
2018.05.21 08:09:40 2: get myCalUrlaub full is deprecated and will be removed soon. Use get myCalUrlaub events instead.
2018.05.21 08:09:40 1: PERL WARNING: Use of uninitialized value in subtraction (-) at ./FHEM/98_alarmclock.pm line 1254.
2018.05.21 08:09:40 1: stacktrace:
2018.05.21 08:09:40 1:     main::__ANON__                      called by ./FHEM/98_alarmclock.pm (1254)
2018.05.21 08:09:40 1:     main::alarmclock_vacation_check     called by ./FHEM/98_alarmclock.pm (539)
2018.05.21 08:09:40 1:     main::alarmclock_createtimer        called by ./FHEM/98_alarmclock.pm (424)
2018.05.21 08:09:40 1:     main::alarmclock_Set                called by ./FHEM/98_apptime.pm (205)
2018.05.21 08:09:40 1:     main::apptime_getTiming             called by ./FHEM/98_apptime.pm (165)
2018.05.21 08:09:40 1:     main::CallFn                        called by fhem.pl (1780)
2018.05.21 08:09:40 1:     main::DoSet                         called by fhem.pl (1813)
2018.05.21 08:09:40 1:     main::CommandSet                    called by fhem.pl (1194)
2018.05.21 08:09:40 1:     main::AnalyzeCommand                called by ./FHEM/01_FHEMWEB.pm (2523)
2018.05.21 08:09:40 1:     main::FW_fC                         called by ./FHEM/01_FHEMWEB.pm (898)
2018.05.21 08:09:40 1:     main::FW_answerCall                 called by ./FHEM/01_FHEMWEB.pm (538)
2018.05.21 08:09:40 1:     main::FW_Read                       called by ./FHEM/98_apptime.pm (205)
2018.05.21 08:09:40 1:     main::apptime_getTiming             called by ./FHEM/98_apptime.pm (165)
2018.05.21 08:09:40 1:     main::CallFn                        called by fhem.pl (708)
2018.05.21 08:09:40 1: PERL WARNING: Use of uninitialized value in subtraction (-) at ./FHEM/98_alarmclock.pm line 1262.
2018.05.21 08:09:40 1: stacktrace:
2018.05.21 08:09:40 1:     main::__ANON__                      called by ./FHEM/98_alarmclock.pm (1262)
2018.05.21 08:09:40 1:     main::alarmclock_vacation_check     called by ./FHEM/98_alarmclock.pm (539)
2018.05.21 08:09:40 1:     main::alarmclock_createtimer        called by ./FHEM/98_alarmclock.pm (424)
2018.05.21 08:09:40 1:     main::alarmclock_Set                called by ./FHEM/98_apptime.pm (205)
2018.05.21 08:09:40 1:     main::apptime_getTiming             called by ./FHEM/98_apptime.pm (165)
2018.05.21 08:09:40 1:     main::CallFn                        called by fhem.pl (1780)
2018.05.21 08:09:40 1:     main::DoSet                         called by fhem.pl (1813)
2018.05.21 08:09:40 1:     main::CommandSet                    called by fhem.pl (1194)
2018.05.21 08:09:40 1:     main::AnalyzeCommand                called by ./FHEM/01_FHEMWEB.pm (2523)
2018.05.21 08:09:40 1:     main::FW_fC                         called by ./FHEM/01_FHEMWEB.pm (898)
2018.05.21 08:09:40 1:     main::FW_answerCall                 called by ./FHEM/01_FHEMWEB.pm (538)
2018.05.21 08:09:40 1:     main::FW_Read                       called by ./FHEM/98_apptime.pm (205)
2018.05.21 08:09:40 1:     main::apptime_getTiming             called by ./FHEM/98_apptime.pm (165)
2018.05.21 08:09:40 1:     main::CallFn                        called by fhem.pl (708)
2018.05.21 08:09:40 1: alarmclock: wecker - holiday => myHoliday - Pfingsten
2018.05.21 08:09:40 3: alarmclock: wecker - activated

ich denke, das hängt alles mit dem Update vom Calendar-Modul zusammen!?

VG
  habl
Titel: Antw:Neues Modul 98_alarmclock ein Fhem Wecker
Beitrag von: FlorianZ am 21 Mai 2018, 14:01:25
Hallo habl,

Die Änderung vom Calendar Modul habe ich gar nicht mitbekommen.  :o
Könntest du bitte die angehängte Version von 98_alarmclock bei dir auch noch testen?
Sollte diese wieder sauber funktionieren, werde ich sie
die nächsten Tage einchecken.

vg
Florian
Titel: Antw:Neues Modul 98_alarmclock ein Fhem Wecker
Beitrag von: habl am 21 Mai 2018, 16:30:54
Moin Florian,

kein Problem, dafür sind doch die User da  8)

Ich habe es gerade getestet, schein wieder zu funktionieren.

Danke für den schnellen Fix.

VG
  habl
Titel: Antw:Neues Modul 98_alarmclock ein Fhem Wecker
Beitrag von: mark79 am 05 Juli 2018, 18:06:23
Hallo Florian,

ich habe dein Modul auch ausprobiert und finde es bisher sehr gut, es ist leichter zu händeln als das Residents Modul. :)

Ich habe eine Yeelight, die mit der PreAlarmRoutine 30 Minuten vorher eine Lichtscene, die 30 Minuten dauert startet. Dazu ein Tablet für die AlarmRoutine, was über AMAD ein MP3 File abspielt.
Praktisch wie der Philips Lichtwecker, der aber leider keine Wochentage beherscht und man den Wecker am Freitag immer deaktivieren muss.

Unterm Bett habe ich ein Xiaomi Bewegungsmelder für das EventForAlarmOff.
Wenn ich aufstehe, wird dieser ausgelöst und sollte eigentlich den Wecker ausschalten.

Mein Problem ist aber nun, wenn ich in der PreAlarmRoutine Phase aufstehe, was sehr oft passiert, dann schaltet das EventForAlarmOff nicht die PreAlarmRoutine aus.
Das heißt ich bin in der Küche und der Wecker geht an. Auch ein "set WECKER stop Alarm" funktioniert hier nicht, der PreAlarm läuft einfach weiter.
Das EventForAlarmOff oder "set WECKER stop Alarm" funktioniert erst, wenn die PreAlarmRoutine zuende ist und die AlarmRoutine läuft.

Ich habe es dann noch mit RepRoutine1 ausprobiert und "RepRoutine1Mode PreAlarm", aber das verhalten ist dort leider das gleiche.

Ist das so gewollt, oder ein Fehler im Modul?

Du hattest hier geschrieben:
attr <name> RepRoutine1Stop off
Mit RepRoutine1WaitInSec wird in Sekunden angegeben, in welchen Intervall die RepRoutine ausgeführt werden soll.
attr <name> RepRoutine1WaitInSec 10

Im Beispiel wird also das Licht_Schlafzimmer 50 mal alle 10 Sekunden um 1 hochgedimmt.
Nach 500 Sekunden sollte dann das Licht bei dim 50 stehen.
Die RepRoutine läuft hier solange, bis sie entweder komplett abgearbeitet ist, oder ein EventForAlarmOff eintritt.

Gibt es eine Möglichkeit den PreAlarm trotzdem auszuschalten? Mit einem DOIF oder Notify über "skip NextAlarm" bestimmt, aber würde das im Modul selber gehen?


Viele Grüße
Mark
Titel: Antw:Neues Modul 98_alarmclock ein Fhem Wecker
Beitrag von: FlorianZ am 05 Juli 2018, 19:49:00
Hallo Mark,

ist mir noch gar nicht aufgefallen. :o
Ja ein beenden sollte natürlich auch während der Prealarm läuft möglich sein.
Ich erweitere das Modul am Wochenende dementsprechend.

Gruß
Florian
Titel: Antw:Neues Modul 98_alarmclock ein Fhem Wecker
Beitrag von: mark79 am 05 Juli 2018, 20:21:09
Hallo Florian,

das wäre super, wenn du das fixen würdest. Wird direkt getestet. :)


Viele Grüße
Mark
Titel: Antw:Neues Modul 98_alarmclock ein Fhem Wecker
Beitrag von: FlorianZ am 14 Juli 2018, 13:00:42
Hallo Mark,

neue Version ist eingecheckt und wird ab morgen
per Update verteilt.

Gruß Florian
Titel: Antw:Neues Modul 98_alarmclock ein Fhem Wecker
Beitrag von: mark79 am 14 Juli 2018, 15:10:09
Hallo Florian,

vielen dank, darauf habe ich gewartet. :)
Könntest du die Version vielleicht jetzt schon im Forum bereit stellen? Bin heute im Bastellaune :)


Viele Grüße
Mark
Titel: Antw:Neues Modul 98_alarmclock ein Fhem Wecker
Beitrag von: Esjay am 14 Juli 2018, 15:38:43
Hallo Florian,

vielen dank, darauf habe ich gewartet. :)
Könntest du die Version vielleicht jetzt schon im Forum bereit stellen? Bin heute im Bastellaune :)


Viele Grüße
Mark
Ich bin Meinung,dass du dir die Version selbst aus dem SVN holen kannst..Grüße
Titel: Antw:Neues Modul 98_alarmclock ein Fhem Wecker
Beitrag von: FlorianZ am 14 Juli 2018, 15:41:26
Wollte ich auch gerade schreiben  ;)


https://svn.fhem.de/trac/browser/trunk/fhem/FHEM
 (https://svn.fhem.de/trac/browser/trunk/fhem/FHEM)

Gruß Florian
Titel: Antw:Neues Modul 98_alarmclock ein Fhem Wecker
Beitrag von: mark79 am 14 Juli 2018, 15:49:19
Wieder was gelernt. :) Danke euch beiden.

Viele Grüße
Mark
Titel: Antw:Neues Modul 98_alarmclock ein Fhem Wecker
Beitrag von: balu1 am 26 August 2018, 19:18:05
Hallo zusammen,

ich hoffe ich habe nichts überlesen.

Bei mir greift der Trigger für EventForSnooze und EventForAlarmOff nicht.
Eingestellt habe ich den Trigger auf
wobei aufwachen ein dummy-device ist:
Internals:
   NAME       aufwachen
   NR         355
   STATE      off
   TYPE       dummy
   Helper:
     DBLOG:
       state:
         logdb:
           TIME       1535295988.81329
           VALUE      off
   READINGS:
     2018-08-26 17:06:28   state           off
Attributes:
   devStateIcon on:ios-on-green off:ios-off
   event-on-update-reading state
   room       A_Wecker,A_Dummy
   setList    on off snooze
   webCmd     on:off

Ich hatte es auch zeitweise nur mit aufwachen:off bzw. aufwachen:snooze versucht, aber auch dann wird kein event getriggert.
Hat jemand eine Idee was ich hier falsch mache?
Titel: Antw:Neues Modul 98_alarmclock ein Fhem Wecker
Beitrag von: adjanz am 28 August 2018, 19:52:58
Hallo zusammen,

ich habe auch ein kleines Problem. Bin mir nicht sicher ob es am Alarmclock Modul oder am Wifilight liegt.
Wecker ist folgend eingestellt.
Alarmzeit 6Uhr, 15Minuten davor soll das Licht angehen und  15 Minuten lang alle 60 Sekunden um 5 hochgedimmt werden.
PreAlarmTimeInSec 900PreAlarmRoutine set SZ.LEDLeiste dim 10RepRoutine1Mode PreAlarmRepRoutine1 {my $DimNow = ReadingsNum("SZ.LEDLeiste", "brightness", 0);;my $DimNext = $DimNow + 5;;fhem("set SZ.LEDLeiste dim $DimNext");;}RepRoutine1Repeats 15RepRoutine1WaitInSec 60
Um 6 Uhr geht die Yamaha Box an, das funktioniert.
AlarmRoutine set SZ.WX030 on;set SZ.WX030 volume 5
Um 6:45 geht dann alles aus, funktioniert ebenfalls.
AlarmRoutineOff set SZ.LEDLeiste off;set SZ.WX030 off
Was nicht funktioniert ist, dass um 05:45Uhr die LED-Leiste an geht.
Logfile:
2018.08.28 05:45:00 3: SZ.LEDLeiste RGBW LD382A dim 10 0
2018.08.28 05:45:00 3: SZ.LEDLeiste set HSV 252, 70, 10 with ramp: 0, flags:
2018.08.28 05:45:01 3: SZ.LEDLeiste low level cmd queue send ERROR 3101000502000f48, qlen 1 (reconnect giving up)
2018.08.28 05:45:01 3: alarmclock: SZ.Wecker - PreAlarmRoutine started.

Der Fehler mit "low level cmd queue" kommt dann jede Minute im Log.
Interessant ist jetzt, dass um 6 Uhr die LED Leiste dann angeht, also mit der AlarmRoutine ?
2018.08.28 06:00:00 3: alarmclock: SZ.Wecker - AlarmRoutine started.
2018.08.28 06:00:15 3: SZ.LEDLeiste RGBW LD382A dim 85 0
2018.08.28 06:00:15 3: SZ.LEDLeiste set HSV 252, 70, 85 with ramp: 0, flags:

Manuell kann ich die LED Leiste an und aus schalten.

Hat vielleicht jemand eine Idee woran das liegen könnte?
Danke schon mal.

LG
Armin

Titel: Antw:Neues Modul 98_alarmclock ein Fhem Wecker
Beitrag von: balli1187 am 22 Januar 2019, 11:51:55
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
Titel: Antw:Neues Modul 98_alarmclock ein Fhem Wecker
Beitrag von: Rudy am 22 Januar 2019, 20:45:12
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.
Titel: Antw:Neues Modul 98_alarmclock ein Fhem Wecker
Beitrag von: balli1187 am 22 Januar 2019, 20:58:04
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
Titel: Antw:Neues Modul 98_alarmclock ein Fhem Wecker
Beitrag von: binford6000 am 22 Januar 2019, 22:19:34
Zitat
Wäre dennoch eine Möglichkeit das Modul weiterzuentwickeln. Was sagt der Modulautor dazu?

Ich hänge mich hier mal dran.  8)

VG Sebastian
Titel: Antw:Neues Modul 98_alarmclock ein Fhem Wecker
Beitrag 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.
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
Titel: Antw:Neues Modul 98_alarmclock ein Fhem Wecker
Beitrag von: balli1187 am 23 Januar 2019, 18:19:08
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
Titel: Antw:Neues Modul 98_alarmclock ein Fhem Wecker
Beitrag von: FlorianZ am 23 Januar 2019, 18:30:20
Wie stehst du zum set NextAlarm?
Ja gefällt mir.
Kommt mit ins Modul, aber nicht kurzfristig.(Nachwuchs  ;D )

Gruß
Florian
Titel: Antw:Neues Modul 98_alarmclock ein Fhem Wecker
Beitrag von: balli1187 am 23 Januar 2019, 18:32:48
Cool!
Herzlichen Glückwunsch ;-)

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


Gesendet von iPhone mit Tapatalk
Titel: Antw:Neues Modul 98_alarmclock ein Fhem Wecker
Beitrag von: balli1187 am 31 Januar 2019, 09:47:04
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.
Titel: Antw:Neues Modul 98_alarmclock ein Fhem Wecker
Beitrag 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
Titel: Antw:Neues Modul 98_alarmclock ein Fhem Wecker
Beitrag von: FlorianZ am 01 Februar 2019, 19:36:12
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
Titel: Neues Modul 98_alarmclock ein Fhem Wecker
Beitrag von: balli1187 am 01 Februar 2019, 19:39:07
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
Titel: Antw:Neues Modul 98_alarmclock ein Fhem Wecker
Beitrag von: linuzer am 26 Februar 2019, 16:02:28
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...
...(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
Titel: Antw:Neues Modul 98_alarmclock ein Fhem Wecker
Beitrag von: linuzer am 26 Februar 2019, 16:35:07
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
Titel: Antw:Neues Modul 98_alarmclock ein Fhem Wecker
Beitrag von: Nitaro am 04 Mai 2019, 13:09:35
Hallo zusammen,

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

Danke
Nitaro
Titel: Antw:Neues Modul 98_alarmclock ein Fhem Wecker
Beitrag von: balli1187 am 16 Mai 2019, 09:28:59
Moin,

Ich habe jetzt mal versucht vacation und presence zu integrieren.... gibt es eine Möglichkeit zu checken, ob auf diese Devices richtig reagiert wird?
Es wäre cool, wenn man der state dann zum beispiel auf vacation/absent oder vielleicht auch einfach disable wechseln würde, damit man eine entsprechende Rückmeldung bekommt.


Gesendet von iPhone mit Tapatalk
Titel: Antw:Neues Modul 98_alarmclock ein Fhem Wecker
Beitrag von: Prof. Dr. Peter Henning am 16 Mai 2019, 11:22:01
Ihr erfindet gerade das Rad zum zweiten Mal. YAAHM bietet alle diese Fähigkeiten.

LG

pah
Titel: Antw:Neues Modul 98_alarmclock ein Fhem Wecker
Beitrag von: balli1187 am 16 Mai 2019, 11:57:27
Werd ich mir mal anschauen. Unter dem Namen hätte ich das jedoch in hundert Jahren nicht gefunden....


Gesendet von iPhone mit Tapatalk
Titel: Antw:Neues Modul 98_alarmclock ein Fhem Wecker
Beitrag von: Prof. Dr. Peter Henning am 16 Mai 2019, 12:33:54
Hat dafür eine ordentliche Dokumentation und ein ganzes Unterkapitel im neuen FHEM-Buch.

LG

pah
Titel: Antw:Neues Modul 98_alarmclock ein Fhem Wecker
Beitrag von: Borkk am 17 August 2019, 15:34:06
Hallo Zusammen,

ich nutze das Modul jetzt schon sehr lange und es tut alles was es soll sehr zuverlässig. Nur eine Sache vermisse ich, die ich hier mal beschreiben möchte.

Ich stehe morgens in der Regel zu gleichen Zeit auf, d.h. ich habe in jedem WeekDay die gleiche Uhrzeit zum wecken eingestellt und das Modul macht das was es soll (Licht, Rollo usw.) Jetzt kommt es alle paar Wochen mal vor, dass ich früher raus muss um z.B. zum Zug oder Flughafen zu fahren. Ich muss dann in das Modul und für den betroffenen Werktag die Weckzeit ändern. z.b.
set AlarmTime4_Thursday 6:00
Wenn ich Mittwochs den Wecker für Donnerstag stellen möchte.

Hier würde ich mir einen Befehl "set AlarmTime_NextDayTemp" wünschen. Der Befehl würde dann genau für einmal die Weckzeit am nächsten Tag überschrieben. Wäre auch gut, wenn mach sich z.B. mal am Wochenende wecken lassen möchte. Klar ließe sich das auch mit einem Notify lösen aber schicker wäre es doch direkt im Modul.


Titel: Antw:Neues Modul 98_alarmclock ein Fhem Wecker
Beitrag von: balli1187 am 17 August 2019, 20:29:55
@Borkk:
Bis das implementiert ist, könntest du dir mit einem dummy behelfen, der per notify+at deinen temporären Wert setzt und später wieder zurückstellt.
Wäre zumindest ein workaround.


Gesendet von iPhone mit Tapatalk
Titel: Antw:Neues Modul 98_alarmclock ein Fhem Wecker
Beitrag von: Borkk am 25 August 2019, 00:49:01
Bis das implementiert ist, könntest du dir mit einem dummy behelfen, der per notify+at deinen temporären Wert setzt und später wieder zurückstellt.
Wäre zumindest ein workaround.

Ja, das hatte ich ja geschrieben, das man das über einen Notify lösen kann. Ich hatte sowas schon mal mit meinem Squeezbox Radio gebaut. ich konnte eine zusätzlich Weckzeit über meine Echos per Sprache in die Squeezbox setzen. Das war echt cool und sowas möchte ich wieder realisieren.