Wecken mit der HM

Problemlösungen und Hinweise von allgemeinem Interesse zur Haussteuerung mit HomeMatic

Moderator: Co-Administratoren

Antworten
chka
Beiträge: 2482
Registriert: 13.02.2012, 20:23
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 300 Mal
Danksagung erhalten: 116 Mal

Wecken mit der HM

Beitrag von chka » 29.12.2014, 11:23

Ich benutze meine Hm auch als Wecker am Morgen, der Grund ist recht simple meine Weckzeiten schwanken immer mal wieder. Des weiter hat jedes Gerät heute eine eigenen Wecker was aber nicht aufeinander abgestimmt ist.

Systemvariablen:
Wecker, WeckerAlarm, WeckerVorAlarm als Logikwert = >wahr = An, falsch = Aus
WeckerMo, WeckerDi, WeckerMi, WeckerDo, WeckerFr, WeckerSa, WeckerSo und WeckerFeierTag als Zeichenkette der Inhalt muss entweder 5 Stellig sein 06:20 oder 10:00, wenn an diesem Tag nicht geweckt werden soll wird der Wert mit 0 angegeben.

Des weiteren nutze ich noch das Feiertag Script welches hier im Forum, beschrieben wird.

Wecker Programm
Das Programm lasse ich alle Minute durchlaufen, das hat seit mehr als einem Jahr kein Problem, mit der performance der CCU1 und später auf der CCU2 gebacht.

Code: Alles auswählen

!Wecker
integer voralarm = 10; !In Minuten
integer nachalarm = 1; !In Stunden

if(dom.GetObject("Wecker").State())
{
!Aktuelle Uhrzeit
string Uhrzeit = system.Date("%H:%M"); 

string Tag = system.Date("%A"); ! aktuellen Tag speichern
WriteLine(Tag);
! Names des Tages in Variablen speichern
string Mon = "Monday";
string Tue = "Tuesday";
string Wed = "Wednesday";
string Thu = "Thursday";
string Fri = "Friday";
string Sat = "Saturday";
string Sun = "Sunday";

!Auslesen der Weckzeit
if(Tag == Mon)
{
string WeckZeit= dom.GetObject("WeckerMo").State();
WriteLine("Montag");
}
if(Tag == Tue)
{
string WeckZeit= dom.GetObject("WeckerDi").State();
WriteLine("Dienstag");
}
if(Tag == Wed)
{
string WeckZeit= dom.GetObject("WeckerMi").State();
WriteLine("Mittwoch");
}
if(Tag == Thu)
{
string WeckZeit= dom.GetObject("WeckerDo").State();
WriteLine("Donnerstag");
}
if(Tag == Fri)
{
string WeckZeit= dom.GetObject("WeckerFr").State();
WriteLine("Freitag");
}
if(Tag == Sat)
{
string WeckZeit= dom.GetObject("WeckerSa").State();
WriteLine("Samstag");
}
if(Tag == Sun)
{
string WeckZeit= dom.GetObject("WeckerSo").State();
WriteLine("Sonntag");
}
if(dom.GetObject("Feiertag").State())
{
string WeckZeit= dom.GetObject("WeckerFeierTag").State();
WriteLine("Feiertag");
}


!string WeckZeit= dom.GetObject("WeckZeit").State();
WriteLine(WeckZeit);
if(WeckZeit != "0")
{

integer akhour = system.Date("%H").ToInteger() + 1 - 1;
integer akmin = system.Date("%M").ToInteger() + 1 - 1;
string akuhr =   akhour.ToString() + akmin.ToString() ;

!Vor WeckerAlarm
string vorhour = WeckZeit.StrValueByIndex(":", 0).ToInteger() + 1 - 1; 
integer vormin = WeckZeit.StrValueByIndex(":", 1).ToInteger() - voralarm;

if(vormin < 0)
{
vorhour = vorhour -1;
vormin = vormin +60;
}
string vor =vorhour.ToString() + vormin.ToString();

!Nach WeckerAlarm
string nachhour = WeckZeit.StrValueByIndex(":", 0).ToInteger() + 1 - 1  - nachalarm; 
integer nachmin = WeckZeit.StrValueByIndex(":", 1).ToInteger() ;

if(nachmin < 0)
{
nachhour = nachhour -1;
nachmin = nachmin +60;
}
string nach =nachhour.ToString() + nachmin.ToString();


string arlhour = WeckZeit.StrValueByIndex(":", 0).ToInteger() + 1 - 1; 
integer arlmin = WeckZeit.StrValueByIndex(":", 1).ToInteger();
string arl =arlhour.ToString() + arlmin.ToString();

WriteLine("Aktuelle Uhrzeit: "+akuhr);
WriteLine("Voralarm: "+vor);
WriteLine("Arlarm Uhrzeit: "+arl);
WriteLine("Nach Arlarm Uhrzeit: "+nach);


!VoralarmAktion
if(vor == akuhr)
{
dom.GetObject("WeckerVorAlarm").State(1);
!WriteLine("WeckerVorAlarm");
}else{
dom.GetObject("WeckerVorAlarm").State(0);
!WriteLine("Kein WeckerVorAlarm");
}

!HauptAlarmAktion
if(arl == akuhr)
{
dom.GetObject("WeckerAlarm").State(1);
!WriteLine("WeckerAlarm");
}else{
dom.GetObject("WeckerAlarm").State(0);
!WriteLine("Kein WeckerAlarm");
}

!Nach Alarm
if(nach == akuhr)
{

!!Nachlalarm wenn gebraucht wird

}
}



}else{
WriteLine("Kein WeckerAlarm Heute");

}
}
In diesem Bsp wird 10min vor dem eigentlichen Weckzeitpunkt die Variable WeckerVorAlarm gesetzt, welche wieder mittels Programm eine Aktion auslöst.
Zum Zeitpunkt des Alarmes wird dann die Variable WeckerAlarm gesetzt.
Ansonsten stehen die beiden Variablen immer auf false.
Wichtig ist aber das der Wecker auch an ist ;-) (Systemvariable Wecker true)

Mittels CCU.io gibt es dann noch ein Template Wecker :
Bildschirmfoto 2014-12-29 um 11.08.47.png
Bildschirmfoto 2014-12-29 um 11.08.47.png (30.56 KiB) 5067 mal betrachtet
Als kleine Anregung was bei mir alles so passiert:
Zum Voralarm werden die jeweiligen DMX Geräte mit Stromversorgt und das Sonnenaufgangsprogramm von Uwe gestartet im Sommer könnte man auch langsam die Rollos hochfahren. Des Weiteren wird die Steckdose der NAS und des Radios eingeschaltet so das dieser sich in Ruhe Booten und oder sich ins WLan einbuchten können.
Zum Alarm Zeitpunkt:
Alle Sonose werden zur Gruppe und das Radio geht an (wird bis zu einem Punkt immer lauter),
ich glaube wenn meine Kaffe Maschine es könnte würde ich diese auch schon starten ;-)

Es ist viel möglich, ich habe den Wecker nicht in Abhängigkeit ob ich zuhause bin, dies könnte man noch einbauen.
Des Weiteren gibt es noch den Punkt im Wecker Programm eine Stunde nach dem Wecker Alarm eine Aktion auszuführen, diese Nutze ich sollte ich mal nicht zuhause sein wenn der Wecker los geht, nach dieser Zeit gehen alle Geräte wieder automatisch aus; DMX, Sonos NAS und so weiter.

Ich hoffe ich konnte euch kleine Anreize und Ideen vermitteln die genutzt werden können.
Ein Multi Wecker für Verschiedenen Personen ist nach dem anpassen des Programms und der Variablen auch möglich.
RaspberryMatic - CuL 868mHz- CuxDemon - PioTek Tracker - Velux mit KLF200 und Somfy Anbindung- io.Broker auf Proxmox NUC6I3SYH i3-6100U RAM: 40Gig Crucial 8GB DDR4 CT2K8G4SFS824A + 32GB DDR4CT32G4SFD8266

mstuebner
Beiträge: 73
Registriert: 16.07.2014, 22:47
Wohnort: Isen
Kontaktdaten:

Re: Wecken mit der HM

Beitrag von mstuebner » 31.12.2014, 00:07

Servus,
chka hat geschrieben:Zum Alarm Zeitpunkt:
Alle Sonose werden zur Gruppe und das Radio geht an (wird bis zu einem Punkt immer lauter),
ich glaube wenn meine Kaffe Maschine es könnte würde ich diese auch schon starten ;-)
Zu Sonos würde mich Deine Vorgehensweise und Umsetzung (Gruppenbildung etc.) im Detail sehr interessieren. Momentan benutze ich den sonosinternen Wecker, was auch bestens funktioniert, es sei denn, dass man am Vortag vergessen hat die Gruppe wieder zu korrigieren. Sonst geht halt nicht nur die Musik im Schlafzimmer und im Bad, sondern auch an ungewollten Stellen an.

Wie steuerst Du das genau?

vg Matthias
213 Kanaele in 36 Geraeten, 14 Geraetetypen:
1x HM-PBI-4-FM(Funk-Tasterschnittstelle 4-fach), 1x HM-RCV-50(CCU2 System), 4x HM-LC-Sw1PBU-FM(Funk-Schaltaktor 1-fach fuer Markenschalter), 1x HM-RC-19(Funk-Fernbedienung 19 Tasten), 8x HM-Sec-SCo(Funk- Tuer-/Fensterkontakt optisch), 2x HM-Sec-SC-2(Funk-Tuer-/ Fensterkontakt), 1x HM-RC-8(Funk-Handsender 8 Tasten), 10x HM-CC-RT-DN(Funk-Heizkoerperthermostat), 1x HM-PB-2-WM55-2(Funk-Wandtaster 2-fach im 55er Rahmen), 1x HM-LC-Sw4-DR(Funk-Schaltaktor 4-fach), 3x HM-ES-PMSw1-Pl(Funk-Schaltaktor mit Leistungsmessung), 1x HM-OU-LED16(Funk-Statusanzeige LED 16), 1x HM-Sec-RHS(Funk-Fenster-/ Drehgriffkontakt), 1x HM-TC-IT-WM-W-EU(Funk-Wandthermostat)
--------------------------------------------
https://github.com/jollyjinx/homematic/ ... entory.hms

chka
Beiträge: 2482
Registriert: 13.02.2012, 20:23
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 300 Mal
Danksagung erhalten: 116 Mal

Re: Wecken mit der HM

Beitrag von chka » 31.12.2014, 09:42

Vielleicht kennst du die Sonst APi ja schon http://www.ip-symcon.de/wiki/PHPSonos im passenden Forum auf Seite 21 wird beschrieben.

Funktioniert sehr gut.
RaspberryMatic - CuL 868mHz- CuxDemon - PioTek Tracker - Velux mit KLF200 und Somfy Anbindung- io.Broker auf Proxmox NUC6I3SYH i3-6100U RAM: 40Gig Crucial 8GB DDR4 CT2K8G4SFS824A + 32GB DDR4CT32G4SFD8266

mstuebner
Beiträge: 73
Registriert: 16.07.2014, 22:47
Wohnort: Isen
Kontaktdaten:

Re: Wecken mit der HM

Beitrag von mstuebner » 31.12.2014, 12:50

chka hat geschrieben:Vielleicht kennst du die Sonst APi ja schon http://www.ip-symcon.de/wiki/PHPSonos im passenden Forum auf Seite 21 wird beschrieben.

Funktioniert sehr gut.
Nein, die nicht, aber selbiges in Python. Die Programmiersprache ist aber egal.

Mir geht es eher darum:

- Hast Du fest-/hardcodierte Scripte die auch die Gruppen enthalten die Du dann nur noch aufrufst, oder kannst Du Dir die Speaker der einzelnen Gruppen über eine Gui zusammenstellen?
- Selbes mit der Musik oder/und Playlisten und der Lautstärke?

vg Matthias
213 Kanaele in 36 Geraeten, 14 Geraetetypen:
1x HM-PBI-4-FM(Funk-Tasterschnittstelle 4-fach), 1x HM-RCV-50(CCU2 System), 4x HM-LC-Sw1PBU-FM(Funk-Schaltaktor 1-fach fuer Markenschalter), 1x HM-RC-19(Funk-Fernbedienung 19 Tasten), 8x HM-Sec-SCo(Funk- Tuer-/Fensterkontakt optisch), 2x HM-Sec-SC-2(Funk-Tuer-/ Fensterkontakt), 1x HM-RC-8(Funk-Handsender 8 Tasten), 10x HM-CC-RT-DN(Funk-Heizkoerperthermostat), 1x HM-PB-2-WM55-2(Funk-Wandtaster 2-fach im 55er Rahmen), 1x HM-LC-Sw4-DR(Funk-Schaltaktor 4-fach), 3x HM-ES-PMSw1-Pl(Funk-Schaltaktor mit Leistungsmessung), 1x HM-OU-LED16(Funk-Statusanzeige LED 16), 1x HM-Sec-RHS(Funk-Fenster-/ Drehgriffkontakt), 1x HM-TC-IT-WM-W-EU(Funk-Wandthermostat)
--------------------------------------------
https://github.com/jollyjinx/homematic/ ... entory.hms

chka
Beiträge: 2482
Registriert: 13.02.2012, 20:23
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 300 Mal
Danksagung erhalten: 116 Mal

Re: Wecken mit der HM

Beitrag von chka » 04.01.2015, 10:00

nein die urls sind fest da ich immer den festen "Ablauf" habe.
RaspberryMatic - CuL 868mHz- CuxDemon - PioTek Tracker - Velux mit KLF200 und Somfy Anbindung- io.Broker auf Proxmox NUC6I3SYH i3-6100U RAM: 40Gig Crucial 8GB DDR4 CT2K8G4SFS824A + 32GB DDR4CT32G4SFD8266

kneiper
Beiträge: 15
Registriert: 25.10.2010, 16:13

Re: Wecken mit der HM

Beitrag von kneiper » 14.03.2015, 12:07

Hallo,
ein interessantes script.
Ich möchte zu einer festgelegten Zeit (systemvariable "PcTimer)
meinen PC starten, wie bekomme ich das hin?
Kannst du mir da helfen?
if(dom.GetObject("PcTimer").State())
!fragt die Variable ab,
aber wie vergleiche ich die mit der aktuellen Zeit und starte dann das Prog.

Für einen Tipp wäre ich dankbar.

MFG
Jürgen

chka
Beiträge: 2482
Registriert: 13.02.2012, 20:23
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 300 Mal
Danksagung erhalten: 116 Mal

Re: Wecken mit der HM

Beitrag von chka » 14.03.2015, 12:14

was schreibst du den in die variable PcTimer?
RaspberryMatic - CuL 868mHz- CuxDemon - PioTek Tracker - Velux mit KLF200 und Somfy Anbindung- io.Broker auf Proxmox NUC6I3SYH i3-6100U RAM: 40Gig Crucial 8GB DDR4 CT2K8G4SFS824A + 32GB DDR4CT32G4SFD8266

kneiper
Beiträge: 15
Registriert: 25.10.2010, 16:13

Re: Wecken mit der HM

Beitrag von kneiper » 14.03.2015, 15:02


kneiper
Beiträge: 15
Registriert: 25.10.2010, 16:13

Re: Wecken mit der HM

Beitrag von kneiper » 14.03.2015, 15:04

Sorry,
ich bin gerade beim Basteln....
Ich bin soweit die Zeit zu setzen, aber das Datum hatte ich vergessen.
Da muss ich mir noch mal richtig Gedanken machen.
Erst mal Danke!!!! :shock: :idea:

Antworten

Zurück zu „HomeMatic Tipps & Tricks - keine Fragen!“