Zeitschaltuhr mit Timeframe

User stellen ihre Haussteuerung vor

Moderator: Co-Administratoren

Antworten
hcitak
Beiträge: 40
Registriert: 15.11.2012, 15:41
Wohnort: Köln

Zeitschaltuhr mit Timeframe

Beitrag von hcitak » 03.04.2013, 01:25

Hallo zusammen,

ich möchte euch im Folgenden meine Lösung für einen Schaltaktor/Swischenstecker vorstellen, mit dem ich folgendes realisiert habe:

Anforderungen:
- Ich möchte das der Verbraucher maximal in Summe eine bestimmte Betriebstunden/sekunden Zahl innerhalb eines Timeframes nicht überschreitet
- Ich möchte einen Timeframe setzen, in dem der Zwischenstecker/Aktor aktiv sein kann (der Verbraucher Strom bekommt)

Anwendung:
Ich hab ein Fernseher der an den Zwischenstecker dran soll. Meine Tochter soll zwischen 14:00 und 19:00 Uhr maximal 2 Stunden fernsehen können. Sie soll selbst entscheiden, wann sie diese Zeit (7200 Sekunden) nutzt. Das heißt, dass Sie jederzeit mit dem Betätigen des Buttons an dem Zwischenstecker die Stromzufuhr ein bzw. ausschalten kann. Überschreitet die Betriebsekundenzahl die vorher definierte Begrenzung, soll der Aktor sofort ausschalten.

Hier die Lösung:
Zunächst einmal müsst Ihr 5 Variablen anlegen und diese mit dem Kanal des Zwischensteckers verbinden.
- "Fernseher Meral Einschaltzeit" --> Zeichenkette
- "Fernseher Meral Betriebsekunden" --> Zahl bis 65000
- "Fernseher Meral Begrenzung" --> "7200.00" (Sekunden)
- "Fernseher Meral Timeframe START" --> "14:00"
- "Fernseher Meral Timeframe STOP" --> "19:00"
Variablen.jpg
Variablen
Anschließend schreibt Ihr ein Programm, dass den Zustand Ein und Aus des Zwischensteckers abfragt.
Programm.jpg
Programm
Im Zusatnd EIN führt Ihr folgenden Skript aus:

Code: Alles auswählen

!Bedingung --> EIN
!Get Begrenzung
integer iBegrenzung= dom.GetObject("Fernseher Meral Begrenzung").Variable().ToInteger();

!Get Kummulierte Zeit (Betriebsekunden)
integer iKumZeit= dom.GetObject("Fernseher Meral Betriebsekunden").Variable().ToInteger();

!Einschaltzeit setzen um später beim ausschalten neue Betriebsekunden auszurechnen
var EinZeit= dom.GetObject("Fernseher Meral Einschaltzeit");
EinZeit.State(system.Date("%F %T")); 
time tEinZeit= EinZeit.State().ToTime(); 
integer iEinZeit = tEinZeit.ToInteger();

!GET Timeframe Start
string sTFStart=system.Date("%F ")# dom.GetObject("Fernseher Meral Timeframe START").Variable()#":00";
time tTFStart = sTFStart.ToTime();
integer iTFStart = tTFStart.ToInteger();

!GET Timeframe Stop
string sTFStop=system.Date("%F ")# dom.GetObject("Fernseher Meral Timeframe STOP").Variable()#":00";
time tTFStop = sTFStop.ToTime();
integer iTFStop = tTFStop.ToInteger();

!Überprüfen ob die Restzeit ausserhalb des Timeframes liegt. Wenn Ja, dann neue Restzeit ausrechnen
integer iRest = iBegrenzung - iKumZeit;
if (iRest > (iTFStop-iEinZeit)){
	iRest = iTFStop-iEinZeit;
}

!Überprüfen ob noch Restzeit da und ob die Einschaltzeit innerhalb des Frames liegt.
if ((iRest <= 0) || (iEinZeit<iTFStart) || (iEinZeit>iTFStop)){
	dom.GetObject("BidCos-RF.JEQ0697818:1.STATE").State(0);
}else{
	dom.GetObject("BidCos-RF.JEQ0697818:1.ON_TIME").State(iRest);
	dom.GetObject("BidCos-RF.JEQ0697818:1.STATE").State(1);
}
Im Zustand AUS folgendes:

Code: Alles auswählen

!Bedingung AUS
integer iKumZeit= dom.GetObject("Fernseher Meral Betriebsekunden").Variable().ToInteger();

var EinZeit= dom.GetObject("Fernseher Meral Einschaltzeit");
time tEinZeit= EinZeit.State().ToTime(); 
integer iEinZeit = tEinZeit.ToInteger();

time tAusZeit = system.Date("%F %T").ToTime(); 
integer iAusZeit = tAusZeit.ToInteger();

integer iNeuBetriebsekunden = iKumZeit + (iAusZeit - iEinZeit);
dom.GetObject("Fernseher Meral Betriebsekunden").State(iNeuBetriebsekunden);
Als nächstes braucht Ihr eine weiteres Programm, dass die Betriebsekunden zu einem Zeitpunkt "00:10" auf "0" setzt (initialisiert).
Programm2.jpg
Initialisierung
Es ist recht spät und ich hoffe, dass ich nicht allzu viele Rechtschreibfehler eingebaut habe. Wer welche findet kann sie behalten ;-)

Liebe Grüße
Hasim

Goglo
Beiträge: 610
Registriert: 14.04.2012, 18:34
Danksagung erhalten: 1 Mal

Re: Zeitschaltuhr mit Timeframe

Beitrag von Goglo » 03.04.2013, 08:09

Sehr schön, gefällt mir gut. Ist mal ein ganz anderer Einsatz von Hausautomation. Fehlt nur noch eine Restzeitanzeige vielleicht in Form einer Binäruhr aus dieser Statusanzeige :-)
83 Kanäle in 50 Geräten:
3x HM-LC-Sw1-Pl, 1x HM-WDS10-TH-O, 5x HM-PB-4-WM, 3x HM-PB-2-WM, 3x HM-LC-Dim1T-FM, 2x HM-Sec-SC, 4x HM-Sec-RHS, 5x HM-CC-VD, 4x HM-CC-TC, 5x HM-LC-Sw1-FM, 2x HM-Sec-MDIR, 1x HM-WDS30-T-O, 1x HM-LC-Sw1-Pl-2, 2x HM-PB-2-WM55, 1x HM-LC-Dim1L-CV, 1x HM-CCU-1, 1x HM-PBI-4-FM, 1x HM-LC-Dim1L-Pl-2, 1x HM-LC-Dim1T-CV, 1x HM-LC-Dim1L-Pl, 1x HM-LC-Sw2-FM, 1x HM-LC-Sw1-SM, 1x HM-Sec-WDS

82 Kanäle in 43 Geräten:
1x HM-PB-2-WM, 2x HM-LC-Bl1-FM, 3x HM-LC-Bl1PBU-FM, 3x HM-PB-2-WM55, 2x HM-PB-4-WM, 9x HM-CC-VD, 8x HM-CC-TC, 2x HM-LC-Sw2-FM, 1x HM-WDS10-TH-O, 1x HM-CCU-1, 1x HM-Sen-MDIR-O, 4x HM-LC-Sw1-FM, 2x HM-SwI-3-FM, 1x HM-LC-Sw4-SM, 1x HM-LC-Sw1-Pl-2, 1x HM-PBI-4-FM, 1x HM-WDS30-T-O

buempi
Ehrenmitglied
Beiträge: 12194
Registriert: 29.07.2006, 15:58
Wohnort: Schweiz
Danksagung erhalten: 5 Mal

Re: Zeitschaltuhr mit Timeframe

Beitrag von buempi » 03.04.2013, 08:32

Hallo Hasim

Und wie verhinderst du, dass deine Tochter den Fernseher einfach ohne Zwischenstecker einsteckt? :twisted:

In Homeputer hatten wir übrigens kürzlich die gleiche Aufgabenstellung. Da geht's ein Bisschen einfacher: http://homematic-forum.de/forum/viewtop ... 31&p=83750

Viele Grüsse
Bümpi

hcitak
Beiträge: 40
Registriert: 15.11.2012, 15:41
Wohnort: Köln

Re: Zeitschaltuhr mit Timeframe

Beitrag von hcitak » 03.04.2013, 08:44

Hi buempi,

Ich habe einfach das Kabel des Fernsehers mit einem Kabelbinder an den Zwischenstecker gebunden :-)

Gruß
Haşim

Lueghi
Beiträge: 630
Registriert: 01.11.2007, 21:45
System: Alternative CCU (auf Basis OCCU)
Wohnort: Siebengebirge (bei Bonn)
Hat sich bedankt: 18 Mal
Danksagung erhalten: 2 Mal

Re: Zeitschaltuhr mit Timeframe

Beitrag von Lueghi » 03.04.2013, 12:29

hcitak hat geschrieben:Hi buempi,

Ich habe einfach das Kabel des Fernsehers mit einem Kabelbinder an den Zwischenstecker gebunden :-)

Gruß
Haşim
Wenn ich Deine Tochter wäre hätte ich ein 2. Anschlusskabel .... :mrgreen: :mrgreen: :mrgreen:
Gruß Stefan

hcitak
Beiträge: 40
Registriert: 15.11.2012, 15:41
Wohnort: Köln

Re: Zeitschaltuhr mit Timeframe

Beitrag von hcitak » 03.04.2013, 14:43

Hi Lueghi,

ich glücklicher hab drei von der Sorte. Jede hat einen eigenen Fernseher. Die denken alle noch, dass die Begrenzung durch den Fernseher getrieben ist und nicht durch die Hausautomation. Dass heißt, auch mit einem zweiten Anschlusskabel hätten Sie keine Lösung. ;-)

Gruß
Hasim

EnergyStar
Beiträge: 1276
Registriert: 27.07.2010, 11:38
Danksagung erhalten: 1 Mal

Re: Zeitschaltuhr mit Timeframe

Beitrag von EnergyStar » 05.04.2013, 13:25

Bei den alten Fernsehern war das einfacher, da war das Stromkabel fest am Fernseher angeschlossen. Da war nix mit anderem Kabel.

Meine gehen zum Glück noch nicht alleine an die Flimmerkiste. Das kommt aber sicher auch noch.

Dafür habe ich da Problem mit dem CD-Speiler. Meine Große hört da zu aufmerksam zu und schläft dann nicht ein. Deshalb wird zu einer festgelegten Zeit einfach der Strom dafür gekappt. Auch mit einem Zwischenstecker. Den Zusammenhang hat sie aber (noch) nicht hergestellt...

Gruß
EnergyStar
--------------------------------------------
CCU1 mit 1.514, CUxD 0.59b, Historian V0.7.6hf1
161 Kanäle in 35 Geräten
in schrittweiser Migration auf die
CCU2 mit 2.15.5, CUxD 0.68, Historian V0.7.6hf1
254 Kanäle in 88 Geräten
gesamte Funktionalität über die
CL-Box mit homeputer CLX Ver. 4.0 Rel. 150625
Ansichten: 17, Objekte: 882, Zeilen: 19863, Variablen: 1966

Lueghi
Beiträge: 630
Registriert: 01.11.2007, 21:45
System: Alternative CCU (auf Basis OCCU)
Wohnort: Siebengebirge (bei Bonn)
Hat sich bedankt: 18 Mal
Danksagung erhalten: 2 Mal

Re: Zeitschaltuhr mit Timeframe

Beitrag von Lueghi » 05.04.2013, 18:11

Wird Zeit dass alle Geräte im Haus eine direkte HM-Schnittstelle bekommen :mrgreen: :mrgreen:
Gruß Stefan

Antworten

Zurück zu „Projektvorstellungen“