IPSWecker/Zeitschaltuhr

Multifunktionalel Wecker und Zeitschaltuhr in einem.

Features:

  • max. 99 Wecker möglich
  • jeder Wecker kann als klassischen Wecker oder/und Zeitschaltuhr eingesetzt werden.
  • mehrere Wecker können zu einer Schichtgruppe zusammen gefasst werden.
  • beliebige Anzahl Wecker in einer Schichtgruppe
  • max. 99 Schichtgruppen.
  • schneller Wechsel zwischen den Schichtgruppen (ein Mausklick).
  • in einer Schichtgruppe ist immer nur ein Wecker aktiv. (Urlaubszeiten müssen in allen Weckern einer Schichtgruppe eingetragen werden).
  • Jeder Wecker besitz verschiedene Auslösekriterien: „FreezeTime“, „AlarmTime“, „SnoozeTime“, „StopEvent“, „EndTime“
  • automatisches nicht Wecken bei Urlaub
  • automatisches nicht Wecken bei Feiertag
  • automatische früher Wecken bei Frost.
  • Frosttemperatur und Zeit pro Wecker einstellbar.
  • Schlummerfunktion. Start nach Zeit x nach erstem Wecken. Zeit einstellbar.
  • Endfunktion. z.B. automatisches Wecker ausschalten. Zeitschaltuhr für Beleuchtung Aquarium /Terrarium, Weihnachtsbeleuchtung.
  • Urlaubszeiten pro Wecker einstellbar.
  • Weckzeit pro Tag, Werktag, Wochenende, Woche einstellbar.
  • Bedienoberfläche für Webfront, Webfront 10" Monitor, Webfront 7", mobile und eDIP.
  • Resoucen schonend. Nur Wecker nur 10 Variablen + 16 Globale.
  • Ereignisse werden nur zum jeweiligen Zeitpunkt in IPS getriggert. Nicht jede Minute.

ACHTUNG DER IPSWECKER BEFINDET SICH NOCH IM BETA STADIUM.
Im Prinzip sollte alles Funktionieren. Gebe aber zum jetzigen Zeitpunkt keine Garantie.
Am Wecker wird nicht mehr gearbeitet. Trotz Beta läuft er seit Jahren bei mir stabil.

Laden des Moduls:


IPSUtils_Include ("IPSModuleManager.class.php","IPSLibrary::install::IPSModuleManager");
$moduleManager = new IPSModuleManager('IPSWecker','https://raw.githubusercontent.com/mcs-51/IPSLibrary/Development/');
$moduleManager->LoadModule('', true);  

Konfigurieren des Moduls.

  1. IPSWecker.ini (Festlegen der Webfront instanzen)
  2. IPSWecker_Configuration (Anlegen der Wecker/Gruppen)
  3. IPSWecker_Custom (Anlegen der Aktionen die statt finden sollen)

Installieren


IPSUtils_Include ("IPSModuleManager.class.php","IPSLibrary::install::IPSModuleManager");
$moduleManager = new IPSModuleManager('IPSWecker','https://raw.githubusercontent.com/mcs-51/IPSLibrary/Development/');
$moduleManager->InstallModule();  

Ein Beispiel befindet sich in Configuration/Example.
Dort befindet sich folgende Wecker:

  • Papa mit 3 Schichten
  • Mama mit 2 Schichten
  • Tochter Normaler Wecker
  • Sohn Normaler Wecker
  • Junior Normaler Wecker
  • Aquarium Zeitschaltuhr mit 12 Stunden (720Min) laufzeit
  • Terraium Zeitschaltuhr mit 12 Stunden (720Min) laufzeit

Ich wünsche viel Spaß beim Wecken.
Über ein paar Info ober gefällt oder nicht und alles funzt bin ich dankbar.

Bild 1: Webfront Großer Monitor
Bild 2+3: Webfront für 10" (Netbook)
Bild 4: eDIP mit MEINEM IPSEDIP Modul

Gruß

André

Daumen hoch

Werde ich in den nächsten Tagen ausprobieren - sowas suche ich noch.

Mal nebenbei gefragt: wie lässt du dich dadurch wecken, hast du Lautsprecher überall oder wie ?

Hi,

Logitech Squeezebox Radio.
Morgens langsam lauter auf 25% innerhalb 55 Sekunden.
Nach 5min (snooze), dann wirds noch lauter und Licht an.

Nach einer Stunde gibt der Wecker auf.

Gruß Andre

Gesendet von meinem GT-I9100 mit Tapatalk 2

Hallo
Sieht sehr gut aus.
Noch dazu dass ich auch EDIP und Squeezeboxen habe.

Bei der Installation ist aber ein Fehler drin.
es sollte wohl eher so heissen.

IPSUtils_Include ("IPSModuleManager.class.php","IPSLibrary::install::IPSModuleManager");
$moduleManager = new IPSModuleManager('IPSWecker','https://raw.github.com/MCS-51/IPSLibrary/Development/');
$moduleManager->InstallModule();

Jepp
So isses.

Gesendet von meinem GT-I9100 mit Tapatalk 2

Hab das gerade ausprobiert und bin gleich auf einen Fehler gestossen.
Wenn man die Default-Konfiguration von Woche und Wochenende so laesst
kommt dieser Fehler.
Im array fehlt

c_Property_Schichtgruppe  =>   ''

Uups,

dann änder ich mal das Default heute Abend.
In der Beschreibung und Example ist es ja zum Glück drin.

Hast Du aber Nachgetragen und läuft?

Gesendet von meinem GT-I9100 mit Tapatalk 2

Am Anfang hatte ich in der Config angefangen neue Wecker zu den beiden
hinzuzufuegen. Deshalb dachte ich erst es liegt an meinen neuen Eintragungen.
Nach einigem Suchen kam ich drauf.
Hab Woche und Wochenende ergaenzt und es laeuft.
Werde weiter testen.

Hallo
Ist das so gedacht, dass Tabs angelegt werden ( Top_L ,Top_R ,Bottom_L, Bottom_R )?

Nein.

Dann hast Du in die IPSWecker.ini nicht bearbeitet.
S. o. Konfiguration.
Die WFS die Du nicht benötigst auf Enabled=false setzen. (gild primär für WFC, WFC10, touch).
Dann jeweils eine Zeile unter TabIcon1=Calendar „ID=instanceWF“ hinzufügen.
instanceWF natürlich mit der instanceID des entsprechendem Webfront Konfigurators ersetzen.

Anschliessend neu installieren.

Wichtig ist, das wfc,wfc10, und touch eine ID haben, wenn sie eingeschaltet sind.

Gruß Andre

Gesendet von meinem GT-I9100 mit Tapatalk 2

Alles klar.
Hatte Touch noch auf true aber keine ID eingetragen.
Damit hat er wohl gleich wieder das Webfront von WFC
ueberschrieben.
Oben stand aber nur festlegen der WebfrontIDs in der Ini.
Vielleicht sollte man das noch abfangen wenn keine ID eingetragen.
Im Moment sieht alles gut aus.

Jo,

ist meine ich aber ein IPSLibrary Problem.
Scheinbar behält er die letzte ID und reicht sie einfach weiter.
Habe da gerade was im Installscript gesehen.
Teste ich mal.

Gruß Andre.

Gesendet von meinem GT-I9100 mit Tapatalk 2

So wie ich das noch im Hinterkopf habe nimmt er das erste Webfront was er findet wenn keine ID angegeben.

Hallo,

es gibt was neues. Version 1.0.3.

Fehlerbereinigung:

  • Installation berücksichtigt nun ob in der IPSWecker.ini für das Webfront eine ID eingetragen ist. Wenn diese fehlt wird das Webfront nicht installiert. Gültig nur für WFC10 und Touch. WFC wird immer installiert.
  • In der IPSWecker_Configuration fehlte c_Property_Schichtgruppe
  • Wecker hat geweckt obwohl an dem Tag abgeschaltet, wenn ein andere Tag eingeschaltet war

Neue Funktion:

  • in der IPSWecker_Configuration kann das Bundesland für die Feiertage eingetragen werden.

Achtung bedingt durch die Änderung der IPSWecker_Configuration muß das File beim Update Überschrieben werden.
Dadurch wird Ihre Konfiguration gelöscht. Bitte die eingerichteten Wecker vorher sichern. Nicht das ganze File sondern nur den Part für die Wecker und nach Update wieder einfügen.

Backup der Dateien.

  1. IPSWecker_Configuration nur den Part der Wecker konfiguration
  2. IPSWecker_Custom komplett
  3. IPSWecker.ini komplett

Bitte mit diesem Script updaten


IPSUtils_Include ("IPSModuleManager.class.php", "IPSLibrary::install::IPSModuleManager");
$moduleManager = new IPSModuleManager('IPSWecker','https://raw.github.com/MCS-51/IPSLibrary/Development/');
$moduleManager->LoadModule('',true);

Weckerkonfiguration wieder zurück sichern.
Ebenso die IPSWecker.ini und das IPSWecker_Custom File.
Die letzteren beiden Komplett zurück sichern.

Installation:


IPSUtils_Include ("IPSModuleManager.class.php", "IPSLibrary::install::IPSModuleManager");
$moduleManager = new IPSModuleManager('IPSWecker','https://raw.github.com/MCS-51/IPSLibrary/Development/');
$moduleManager->InstallModule();

Das gleicht einer neuinstallation.

Gruß

André

Hallo,

Cool, den hab ich mir am Sonntag erst bestellt, sollte hoffentlich morgen kommen.

Kann man den einfach in IPS einbinden ?
Werde mal das Forum durchforsten danach…

Dein Wecker läuft schon mal bei mir, coole Sachen - Vielen Dank dafür.
Jetzt beginnt erst mal den Feinschliff.

Hallo,

kurze Anleitung wie man sich mit der Sequeezebox wecken lassen kann.

Voraussetzungen:
Logitech Media Server muß in jedem Fall auf einem Rechner installiert werden der 24h läuft. An dem müssen sich dann auch die Squeezeboxen anmelden.
In der Squeezebox ist der Wechsel unter „Eigene Musik - Bibliothek umschalten“.

IPS:
Unten angehängtes Script in den Script Ordner kopieren.
Es muß nur kopiert werden, nicht als Instance o.ä. einrichten werden. Das ist nicht notwendig.
Anmk.:Das Script habe ich hier auch aus dem Forum.

Das Script anpassen. Nur die ersten Zeilen ObjectID des Clientsockels und die MAC-Adresse eurer Box.

Clientsockel Instance einfügen. IP Adresse des Rechners auf dem der Logitech Media Server läuft mit Port 9090 eintragen.

Dann das IPSWecker_Custom Script anpassen:

Hier das Beispiel für Wecker_1:


	// ----------------------------------------------------------------------------------------------------------------------------
	//
	// Function wird aufgerufen bei Wecker auslösung
	//
	// Parameters:
	//   $CycleId    - ID des auslösenden Weckers ( Program.IPSWecker.Weckzeiten.Weckzeit_1)
	//   $WeckerName - Name des auslösenden Weckers
	//   $Mode       - Grund der auslösung, mögliche Werte: "FreezeTime", "AlarmTime", "SnoozeTime", "StopEvent", "EndTime"
	//
	// ----------------------------------------------------------------------------------------------------------------------------

	include IPS_GetKernelDir()."\\scripts\\SB_Funktionen.ips.php";  // Squeezefunktions-Sammlung und Variablendefinitionen

	function Weckzeit_1($CycleId, $WeckerName, $Mode) {
		$CircleName = IPS_GetName($CycleId);

		$SBBox = Box1;

		switch($Mode){
		case 'FreezeTime':  // Wecker füher starten
		case 'AlarmTime':  // Wecker aktion
			SqueezeInit($SBBox);
			SqueezePower($SBBox , true);
			SqueezeVolume($SBBox, 0);

			IPS_Sleep(1000);

			SqueezeKommand($SBBox, "playlist play http://opml.radiotime.com/Tune.ashx?id=s14991");
			for ($i = 1; $i <= 26; $i++)
				{
					SqueezeVolume($SBBox, $i);
					IPS_Sleep(2000);
				}
			break;

		case 'SnoozeTime':
			// Wecker wird lauter
			for ($i = 26; $i <= 40; $i++)
				{
					SqueezeVolume($SBBox, $i);
					IPS_Sleep(3000);
				}
			break;

		case 'StopEvent':  //Stoptaste gedrückt
		case 'EndTime': 	// Wecker ausschalten da nicht da.
				SqueezePower($SBBox, false);
				break;
		}
	}

Was macht das Script:
Bei FrostTime (wenn eingeschaltet und ein Temperatursensor angegeben und Temperatur unterschrittenist) und bei AlarmTime wird die Box eingeschaltet und Lautstärke auf 0 gestellt. Dann wird im Abstand von 2 Sekunden die Lautstärke um 1% auf 26% erhöht.

Wenn SnoozeTime (Wenn eingeschaltet) ausgelöst wird, wird die Lautstärke von 26% auf 40% in 1% Schritten im Abstand von 3 Sekunden erhöht.

Bei Stopevent (Wenn eine ObjektID angegeben wurde) und bei EndTime (Wenn eingeschaltet) wird die Squeezebox ausgeschaltet.

Der Radiosender steht hinter Playlist. Den Pfad bekommt man über den Logitech Media Server raus. In dem Fall ist das Bayern 3. Ja ich wohne in Hamburg und höre Bayern 3.

In dem Script sind die Aktionen für FrostTime und AlarmTime bzw. StopEvent und EndTime identisch. Man könnte das natürlich auch noch weiter aufteilen.

WICHTIG ist, das über ein separates Script der befehl beim starten von IPS SqueezeInit(MAC-ADRESSE); ausgeführt wird. MAC-Adresse durch die MAC-Adresse eurer Boxen tauschen. Der Befehl muß für JEDE Box ausgeführt werden. Der Befehl teilt derm Logitec Media Server mit, das IPS an der Kommunikation beteiligt werden soll.
Bei mir ist es sogar so, das ich danach die Boxen einmal ein/aus, play/stop drücken muß. Warum habe ich noch nicht raus gefunden.

Gruß
André

Hallo,

tausend Dank dafür.

Logitech Media Server läuft bereits auf meinem IPS-Server, dann kann ich ja mit dem Script direkt weitermachen. :slight_smile:

Hallo, und guten Abend.
Vielleicht kann mir einer freundlicher Weise helfen ?.
Habe mir diesen Wecker installiert, und klappt auch toll.
Habe mir ein Script angelegt welches den Wecker täglich einschaltet wenn die KW ungrade ist, ist dieser Woche habe ich immer Frühschicht.
Klappt auch soweit.
Ich schalte den Wecker mit SetValueBoolean (44940 /[Program\IPSLibrary\data\modules\IPSWecker\Wochenwecker]/, true); ein.
Das klappt auch, was leider nicht geht das ist im Webfront die Ansicht unten links, also die Übersicht, diese zeigt immer noch alles so an als ob der Wecker aus ist, wird also nicht aktualisiert.
Wie kann ich das beheben ?, habe schon viel durchsucht aber leider nichts gefunden. Vielen Dank im Voraus.

Guck ich heute Abend mal.

Gibt es Schichten mit geraden/ungeraden Woche häufig?
Wer nutzt diesen Schichtbetrieb alles?

Gesendet von meinem GT-I9100 mit Tapatalk 2

Eins vorweg.
So wie Du es vor hast, funktioniert es nicht.
Du änderst nur die Bedienvariablen.
Nicht die realen Wecker.
Die realen Weckerzustände werden in der Übersicht abgebildet.
Wenn Du die angegebene Variable änderst, dürfte sich damit der Wecker nicht ein/ausschalten.


Dir reicht es nicht, am Sonntag den Schichtwechsel mit einem Mausklick per Hand zu wechseln?
Genau dafür sind eigentlich die Schichtgruppen. Schneller Wechsel der aktiven Schicht mit einem Mausklick. Siehe auch Beispiel Konfiguration.
Du möchtest das automatisieren?

Verständnis fragen:
Habe ich das richtig verstanden, daß Dein Schichtwechsel immer von gerade->ungerade und ungerade->gerade ist.
Also hast Du 2 Wecker.
Wecker1 in der geraden Woche aktiv.
Wecker2 in der ungeraden Woche aktiv.

Eine Woche ist bei Dir immer Mo.-Fr.?

Gruß Andre

Gesendet von meinem GT-I9100 mit Tapatalk 2