Tageszeiten

Betrieb der FHZ-Zentralen mit contronics homeputer Standard / homeputer Studio & WEB-Server

Moderator: Co-Administratoren

Antworten
herbylfs
Beiträge: 48
Registriert: 07.04.2018, 16:59
Hat sich bedankt: 1 Mal
Danksagung erhalten: 1 Mal

Tageszeiten

Beitrag von herbylfs » 06.09.2020, 13:15

Hallo,
an die Experten.
Ich möchte in Homeputer CL Studio Homematic und FHZ2000 verschiedene Tageszeiten benutzen.
Dazu habe ich unter der WebUi dieses Script von einer Webseite eingerichtet.
! HomeMatic-Script
! TAGESZEIT SETZEN
! http://www.christian-luetgens.de/homema ... eszeit.htm
! Tageszeiten
! Tagesbeginn - 2 <04.00 Nacht
! Tagesbeginn - 2 <04.00 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 >2200 Abend
! Tagesende + 2 >2200 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 = 0.5 * (c_tagesbeginn + c_tagesende);
integer v_tageszeit = 0; ! Nacht
if ((c_zeit < c_tagesende + 2) || (c_zeit < 22.00)) {
v_tageszeit = 7; ! Abend
}
if (c_zeit < c_tagesende + 1) {
v_tageszeit = 6; ! Abenddaemmerung
}
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; ! fruemorgens;
}
if ((c_zeit < c_tagesbeginn - 2) && (c_zeit < 04.00)) {
v_tageszeit = 0; ! Nacht
}
object s_tageszeit = dom.GetObject("Tageszeit");
if (s_tageszeit.Value() != v_tageszeit) {
s_tageszeit.State(v_tageszeit);
}
! Ende des Scripts
Dann hole ich mit

Tageszeit Original
GetCCUSysVar("SV_Tageszeit",Tageszeit,"192.168.1.10"

Tageszeitist Original
wenn Tageszeit =0
dann
Tageszeitist := "Nacht"
endewenn
wenn Tageszeit =1
dann
Tageszeitist := "Frühmorgen"
endewenn
wenn Tageszeit =2
dann
Tageszeitist := "Morgengrauen"
endewenn
wenn Tageszeit =3
dann
Tageszeitist := "Vormittag"
endewenn
wenn Tageszeit =4
dann
Tageszeitist := "Mittag"
endewenn
wenn Tageszeit =5
dann
Tageszeitist := "Nachmittag"
endewenn
wenn Tageszeit =6
dann
Tageszeitist := "Dämmerung"
endewenn
wenn Tageszeit =7
dann
Tageszeitist := "Abend"
endewenn

Die Daten von der CCU.
Das wird in Homeputer auch angezeigt.
wenn Tageszeit =0
dann
Tageszeitist := "Nacht"
Startuhr(uhr15)
Anzeige15:=uhr15
endewenn

wenn Tageszeit =1
dann
Tageszeitist := "Frühmorgen"
Startuhr(uhr4)
Anzeige4:=uhr4
endewenn

wenn Tageszeit =2
dann
Tageszeitist := "Morgengrauen"
Startuhr(uhr5)
Anzeige5:=uhr5
endewenn

wenn Tageszeit =3
dann
Tageszeitist := "Vormittag"
Startuhr(uhr12)
Anzeige12:=uhr12
endewenn

wenn Tageszeit =4
dann
Tageszeitist := "Mittag"
Startuhr(uhr16)
Anzeige16:=uhr16
endewenn

wenn Tageszeit =5
dann
Tageszeitist := "Nachmittag"
Startuhr(uhr17)
Anzeige17:=uhr17
endewenn

wenn Tageszeit =6
dann
Tageszeitist := "Dämmerung"
Startuhr(uhr13)
Anzeige13:=uhr13
endewenn

wenn Tageszeit =7
dann
Tageszeitist := "Abend"
Startuhr(uhr14)
Anzeige14:=uhr14
endewenn

Das Ausführungsintevall steht auf 5 Minuten.
Nur werden die Uhrzeiten alle 5 Minuten aktualisiert.
Ich möchte aber nur die Aktuelle Startzeit der Uhr haben.
sonnenzeiten.JPG
sonnenstand.JPG
Nach dem Sonnenstand und der Tageszeit sollen die Rollos Ost, Süd und West auf Beschattung fahren.
Ich weiss aus verschiedenen Beiträgen das buempi? und Familenvater? das anders sehen, zwei Welten mischen ist nicht gut.

Auch wird die Rollosteuerung als die Königsdiziplin der Homesteuerung bezeichnet, wieder buempi, Familienvater?
Kann ich nachvollziehen.
Aber als Ü70iger ist man für jede Hilfe dankbar.
mfg
herby
Wo kämen wir denn hin, wenn alle sagten "Wo kämen wir denn hin" und niemand ginge um zu sehen, wohin wir kämen, wenn wir gingen!?!
Ich hab so Hunger, dass ich vor lauter Durst gar nicht weiß was ich rauchen soll, so müde bin ich!!!
Spezialisten wissen immer mehr über immer weniger, bis Sie alles über nichts wissen.
Zwei Dinge sind unendlich: Das Universum und die menschliche Dummheit. Aber beim Universum bin ich mir nicht ganz sicher.

Familienvater
Beiträge: 7127
Registriert: 31.12.2006, 15:18
System: Alternative CCU (auf Basis OCCU)
Wohnort: Rhein-Main
Danksagung erhalten: 23 Mal

Re: Tageszeiten

Beitrag von Familienvater » 06.09.2020, 15:27

Hi,

wie Du schon selber festgestellt hast, ist es nach meiner Meinung nicht notwendig, zwei Welten zu mischen, zumal die "Schwierigkeit", für die die WebUI/Rega benutzt wird, ziemlich sehr banal ist, und das könnte locker direkt in HPCL gemacht werden.

Aber, wenn Dir nicht klar ist, warum die "Startzeiten" der Tageszeit alle 5 min überschrieben werden, dann weiß ich auch nicht, es gibt hier keine Basis-Schulung in Programmierlogik, nur soviel:
Der Tageszeitwert wird ja alle 5 min geholt, und er ändert sich entsprechend auch für den Tageszeit-Zeitraum nicht mehr, trotzdem ist natürlich die Bedingung nach wie vor gültig, also wird der Zeitstempel vollkommen korrekter Weise alle 5 min neu gesetzt.

Schönen Sonntag noch,

der Familienvater

Antworten

Zurück zu „homeputer Studio / Standard: allgemeine Fragen“