Tageszeiten Script

Einrichtung, Anschluss und Programmierung der HomeMatic CCU

Moderator: Co-Administratoren

Antworten
Milan01
Beiträge: 3
Registriert: 10.12.2012, 17:03

Tageszeiten Script

Beitrag von Milan01 » 22.12.2012, 14:37

Hallo Leute
Ich möchte gern das Script für die Tageszeizen nutzen. Ich habe es eingetragen wie beschrieben (glaube ich zuminest) nur es will nicht so wie ich das gern möchte. woran kann das liegen. Wie kannich es testen ob es funktioniert oder wo könnte mein Fehler liegen?

mctom
Beiträge: 144
Registriert: 03.10.2010, 12:59

Re: Tageszeiten Script

Beitrag von mctom » 22.12.2012, 15:11

Hi,

Am besten machst du mal ein Screenshot von deinem Programm und lädst ihn zusammen mit deinem Programm mal hier hoch.

So kann man dir besser weiterhelfen.

Gruß

Michael

Milan01
Beiträge: 3
Registriert: 10.12.2012, 17:03

Re: Tageszeiten Script

Beitrag von Milan01 » 22.12.2012, 15:22

Ok dann mache ich das mal

Code: Alles auswählen

! Tageszeiten
! Tagesbeginn - 2 Nacht
! Tagesbeginn - 2 Tagesbeginn - 1 Frühmorgens
! Tagesbeginn - 1 Tagesbeginn Morgengrauen
! Tagesbeginn Mittag - 1 Vormittag
! Mittag - 1 Mittag + 1 Mittag
! Mittag + 1 Tagesende Nachmittag
! Tagesende Tagesende + 1 Dämmerung
! Tagesende + 1 Tagesende + 2 Abend
! Tagesende + 2 Nacht
 
real c_zeit = (0.01 * system.Date("%M").ToInteger()) + system.Date("%H").ToInteger();
real c_tagesbeginn = (0.01 * system.SunriseTime("%M").ToInteger()) + system.SunriseTime("%H").ToInteger();
real c_tagesende = (0.01 * system.SunsetTime("%M").ToInteger()) + system.SunsetTime("%H").ToInteger();
real c_mittag = 13.00; ! Mittagszeit
 
integer v_tageszeit = 0; ! Nacht
 
if (c_zeit < c_tagesende + 2) {
v_tageszeit = 7; ! Abend
}
 
if (c_zeit < c_tagesende + 1) {
v_tageszeit = 6; ! Dämmerung
}
 
if (c_zeit < c_tagesende) {
v_tageszeit = 5; ! Nachmittag
}
 
if (c_zeit < c_mittag + 1) {
v_tageszeit = 4; ! Mittag
}
 
if (c_zeit < c_mittag - 1) {
v_tageszeit = 3; ! Vormittag
}
 
if (c_zeit < c_tagesbeginn) {
v_tageszeit = 2; ! Morgengrauen
}
 
if (c_zeit < c_tagesbeginn - 1) {
v_tageszeit = 1; ! Frühmorgens;
}
 
if (c_zeit < c_tagesbeginn - 2) {
v_tageszeit = 0; ! Nacht
}
 
dom.GetObject("Tageszeit").State(v_tageszeit);
das ist das Script

Wertetabelle

Code: Alles auswählen

Nacht;Frühmorgens;Morgengrauen;Vormittag;Mittag;Nachmittag;Dämmerung;Abend

wie kannich nun testen welche tageszeit aktiv ist
Zuletzt geändert von Roland M. am 08.06.2018, 15:19, insgesamt 1-mal geändert.
Grund: Code-Tags eingefügt

erik
Beiträge: 776
Registriert: 31.10.2007, 13:32
Hat sich bedankt: 6 Mal
Danksagung erhalten: 6 Mal

Re: Tageszeiten Script

Beitrag von erik » 22.12.2012, 17:45

Einfach schauen, wie die systemvariable gesetzt ist.

Milan01
Beiträge: 3
Registriert: 10.12.2012, 17:03

Re: Tageszeiten Script

Beitrag von Milan01 » 23.12.2012, 07:36

Habe den Fehler gefunden !!
Es lag daran das die Variable und das Programm dazu den selben Namen hatten

Semmy
Beiträge: 165
Registriert: 05.02.2017, 14:12
Danksagung erhalten: 1 Mal

Re: Tageszeiten Script

Beitrag von Semmy » 08.06.2018, 14:05

Hallo

Super Tipp, ich hatte den gleichen Fehler gemacht, Name geändert und schon funktioniert es wieder.

Gruß Semmy
Raspberrymatic 3+
Raspberrymatic LAN-Gateway

Gluehwurm
Beiträge: 12434
Registriert: 19.03.2014, 00:37
System: in Planung
Hat sich bedankt: 105 Mal
Danksagung erhalten: 380 Mal

Re: Tageszeiten Script

Beitrag von Gluehwurm » 08.06.2018, 14:29

Für diese und ähnlich gelagerte Fälle hat sich hier im Forum jemand die Mühe gemacht und die 'Tipps für Anfänger' geschrieben.

Gruß
Bruno

Antworten

Zurück zu „HomeMatic Zentrale (CCU / CCU2 / CCU3 / Charly)“