Tageszeit in Abschnitte unterteilen Problem
Moderator: Co-Administratoren
Re: Tageszeit in Abschnitte unterteilen Problem
Hallo,
Ich glaube ich habe den Fehler gefunden: in der Weteliste der Variablen fehlte die "Nacht" daher kam da alles aus dem Lot.
Habe das Programm nun "Tageszeiten" genannt und die Variable "Tageszeit " umgetauft.
Und siehe Da nun haben wir plötzlich "Nachmittag" ( Es ist jetzt 18:52 Uhr )
Danke für Eure Unterstützung !!! Dann kann ich ja morgen ruig in den Urlaub fliegen.
Mal sehen ob ich die Beleuchtung von Agypten aus steuern kann
Vielleicht noch eine Frage, wie kann ich in dem Skipt dokumentieren ?
Möchte irgendwo die Zeiten als Testbaustein festhalten :
Zitat :
Nacht 23:00-05:00
Frühmorgens 05:00- 06:00
Morgengrauen 06:00-07:00
Vormittag 07:00-12:00
Mittag 12:00- 14:00
Nachmittag 14:00-21:00
Dämmerung 21:00-22:00
Abend 22:00- 23:00
Danke nochmal !!
MFG
Stefan
Ich glaube ich habe den Fehler gefunden: in der Weteliste der Variablen fehlte die "Nacht" daher kam da alles aus dem Lot.
Habe das Programm nun "Tageszeiten" genannt und die Variable "Tageszeit " umgetauft.
Und siehe Da nun haben wir plötzlich "Nachmittag" ( Es ist jetzt 18:52 Uhr )
Danke für Eure Unterstützung !!! Dann kann ich ja morgen ruig in den Urlaub fliegen.
Mal sehen ob ich die Beleuchtung von Agypten aus steuern kann
Vielleicht noch eine Frage, wie kann ich in dem Skipt dokumentieren ?
Möchte irgendwo die Zeiten als Testbaustein festhalten :
Zitat :
Nacht 23:00-05:00
Frühmorgens 05:00- 06:00
Morgengrauen 06:00-07:00
Vormittag 07:00-12:00
Mittag 12:00- 14:00
Nachmittag 14:00-21:00
Dämmerung 21:00-22:00
Abend 22:00- 23:00
Danke nochmal !!
MFG
Stefan
Re: Tageszeit in Abschnitte unterteilen Problem
Der Kommentarzeile einfach ein "!" voranstellen. Also:
! Nacht 23:00-05:00
! Frühmorgens 05:00- 06:00
! Morgengrauen 06:00-07:00
! Vormittag 07:00-12:00
! Mittag 12:00- 14:00
! Nachmittag 14:00-21:00
! Dämmerung 21:00-22:00
! Abend 22:00- 23:00
Na dann, gute Zeit in Ägypten!
! Nacht 23:00-05:00
! Frühmorgens 05:00- 06:00
! Morgengrauen 06:00-07:00
! Vormittag 07:00-12:00
! Mittag 12:00- 14:00
! Nachmittag 14:00-21:00
! Dämmerung 21:00-22:00
! Abend 22:00- 23:00
Na dann, gute Zeit in Ägypten!
Re: Tageszeit in Abschnitte unterteilen Problem
Hallo zusammen, bin neu hier.
Habe seit 3 Wochen eine Homematic CCU und bin gerade am programmieren.
Über das Tageszeitskript bin ich auch gestolpert. Das kann nicht immer exakt funtionieren, weil die Umwandlung der Systemzeitminuten in Stunden mit 1/100 (=0.01) anstatt mit 1/60 gerechnet wird. 30 Min sind dann 0.3 statt 0.5 usw. Durch diese Zeitlücken scheint das Script dann zu spinnen.
Habe seit 3 Wochen eine Homematic CCU und bin gerade am programmieren.
Über das Tageszeitskript bin ich auch gestolpert. Das kann nicht immer exakt funtionieren, weil die Umwandlung der Systemzeitminuten in Stunden mit 1/100 (=0.01) anstatt mit 1/60 gerechnet wird. 30 Min sind dann 0.3 statt 0.5 usw. Durch diese Zeitlücken scheint das Script dann zu spinnen.
Re: Tageszeit in Abschnitte unterteilen Problem
Hallo,
ich habe das Script von homematic inside auch seit gestern im Einsatz und nutze es für meine Rolladensteuerung.
Ich habe das so eingestellt das das Zeitintervall für die Berechnung bei 15 Minuten liegt. Was mir jetzt auffällt das sobald der entsprechende Wert erreicht ist meine Rolladen ständig angesteuert werden. Heute morgen als Beispiel gingen die Rolladen wie programmiert hoch als "vormittag" erreicht wurde. Seitdem höre ich alle paar Minuten wie die Aktoren klicken. Ich vermute mal das jetzt, solange die Bedingung "vormittag" erfüllt ist, alle 15 Minuten das Programm Rolladen aktiviert wird obwohl dieses bereits erledigt ist.
Gibt es dafür eine Lösung? Ansonsten scheint mir das Tageszeiten Script ja eine feine Sache zu sein...
ich habe das Script von homematic inside auch seit gestern im Einsatz und nutze es für meine Rolladensteuerung.
Ich habe das so eingestellt das das Zeitintervall für die Berechnung bei 15 Minuten liegt. Was mir jetzt auffällt das sobald der entsprechende Wert erreicht ist meine Rolladen ständig angesteuert werden. Heute morgen als Beispiel gingen die Rolladen wie programmiert hoch als "vormittag" erreicht wurde. Seitdem höre ich alle paar Minuten wie die Aktoren klicken. Ich vermute mal das jetzt, solange die Bedingung "vormittag" erfüllt ist, alle 15 Minuten das Programm Rolladen aktiviert wird obwohl dieses bereits erledigt ist.
Gibt es dafür eine Lösung? Ansonsten scheint mir das Tageszeiten Script ja eine feine Sache zu sein...
+++ Anfänger +++
bisher: 12x Funk-Jalousieaktor Unterputz Taster, 3x Rauchmelder, 1x Aussentemp,
3x Wassermelder
bisher: 12x Funk-Jalousieaktor Unterputz Taster, 3x Rauchmelder, 1x Aussentemp,
3x Wassermelder
Re: Tageszeit in Abschnitte unterteilen Problem
Zuerst mal das Problem mit den Rollläden:
Ich vermute ganz stark, dass die Tageszeit immer gesetzt wird UND das script für die Rollläden auf "Bei Aktualisieren" steht....
Bei mir sind die beiden Sachen anders: Die Tageszeit-Systemvariable wird nur neu geschrieben, wenn sie unterschiedlich zum vom Script ermittelten Wert ist,
UND alle Scripts reagieren bei den Tageszeiten auf "Auf Änderung".
Der Beitrag vorher hatte die 100stel Teilung der Tageszeiten angesprochen.
Das hat mir auch nicht gefallen, ich verstehe allerdings mittlerweile warum: Wenn man KEINE Hunderstelteilung macht, wird die Programmzeile GANZ GANZ gruselig:
Wieso das so aussehen muss, überlasse ich dem geneigten Leser
Tipp: Die Evaluierung der Ausdrücke erfolgt beim HM-Script von rechts nach links, genauso wie die implizite Typumwandlung.
Vorteil: Dann allerdings lassen sich die "Minuten" ohne Lücken berechnen. Eine 3/4 Stunde sind dann 0.75 (was ja vorhin nicht so einfach war).
Spaß beim Coden ...
Werner
Ich vermute ganz stark, dass die Tageszeit immer gesetzt wird UND das script für die Rollläden auf "Bei Aktualisieren" steht....
Bei mir sind die beiden Sachen anders: Die Tageszeit-Systemvariable wird nur neu geschrieben, wenn sie unterschiedlich zum vom Script ermittelten Wert ist,
UND alle Scripts reagieren bei den Tageszeiten auf "Auf Änderung".
Der Beitrag vorher hatte die 100stel Teilung der Tageszeiten angesprochen.
Das hat mir auch nicht gefallen, ich verstehe allerdings mittlerweile warum: Wenn man KEINE Hunderstelteilung macht, wird die Programmzeile GANZ GANZ gruselig:
Code: Alles auswählen
real c_zeit =
( 1.0 * system.Date("%H").ToInteger() ) + (( 1.0 * system.Date("%M").ToInteger()) / 60.0);
real c_tagesbeginn =
( 1.0 * system.SunriseTime("%H").ToInteger() ) + (( 1.0 * system.SunriseTime("%M").ToInteger()) / 60.0);
real c_tagesende =
( 1.0 * system.SunsetTime("%H").ToInteger() ) + (( 1.0 * system.SunsetTime("%M").ToInteger()) / 60.0);
Tipp: Die Evaluierung der Ausdrücke erfolgt beim HM-Script von rechts nach links, genauso wie die implizite Typumwandlung.
Vorteil: Dann allerdings lassen sich die "Minuten" ohne Lücken berechnen. Eine 3/4 Stunde sind dann 0.75 (was ja vorhin nicht so einfach war).
Spaß beim Coden ...
Werner
194 Kanäle in 101 Geräten:
3x HM-LC-Sw1-Pl, 7x HM-LC-Sw1-PB-FM, 2x HM-WDS10-TH-O, 22x HM-Sec-SC, 4x HM-Sec-MDIR, 4x HM-Sen-MDIR-O, 3x HM-LC-Dim1T-FM, 1x HM-PB-4Dis-WM, 1x HM-RC-19, 1x HM-Sec-TiS, 2x HM-OU-CF-Pl, 1x HM-RC-4-B, 9x HM-CC-VD, 7x HM-CC-TC, 3x HM-WDS30-T-O, 1x HM-CCU-1, 1x HM-LC-Sw2-PB-FM, 1x HM-LC-Sw1PBU-FM, 6x HM-PB-2-WM, 1x HM-LC-Dim2T-SM, 5x HM-PB-4-WM, 1x HM-LC-Sw2-FM, 1x HM-OU-CFM-Pl, 1x HM-LC-Bl1PBU-FM, 4x HM-LC-Bl1-PB-FM, 4x HM-LC-Sw4-SM, 3x HM-Sec-WDS
3x HM-LC-Sw1-Pl, 7x HM-LC-Sw1-PB-FM, 2x HM-WDS10-TH-O, 22x HM-Sec-SC, 4x HM-Sec-MDIR, 4x HM-Sen-MDIR-O, 3x HM-LC-Dim1T-FM, 1x HM-PB-4Dis-WM, 1x HM-RC-19, 1x HM-Sec-TiS, 2x HM-OU-CF-Pl, 1x HM-RC-4-B, 9x HM-CC-VD, 7x HM-CC-TC, 3x HM-WDS30-T-O, 1x HM-CCU-1, 1x HM-LC-Sw2-PB-FM, 1x HM-LC-Sw1PBU-FM, 6x HM-PB-2-WM, 1x HM-LC-Dim2T-SM, 5x HM-PB-4-WM, 1x HM-LC-Sw2-FM, 1x HM-OU-CFM-Pl, 1x HM-LC-Bl1PBU-FM, 4x HM-LC-Bl1-PB-FM, 4x HM-LC-Sw4-SM, 3x HM-Sec-WDS
Re: Tageszeit in Abschnitte unterteilen Problem
Genau das war das Problem! Hab das jetzt "auf Änderung" umgestellt und es klappt, danke!dwm hat geschrieben:Zuerst mal das Problem mit den Rollläden:
Ich vermute ganz stark, dass die Tageszeit immer gesetzt wird UND das script für die Rollläden auf "Bei Aktualisieren" steht....
Bei mir sind die beiden Sachen anders: Die Tageszeit-Systemvariable wird nur neu geschrieben, wenn sie unterschiedlich zum vom Script ermittelten Wert ist,
UND alle Scripts reagieren bei den Tageszeiten auf "Auf Änderung".
Eine Frage noch: wie meinst du das das die Tageszeit nur neu geschrieben wird wenn Sie sich ändert?
+++ Anfänger +++
bisher: 12x Funk-Jalousieaktor Unterputz Taster, 3x Rauchmelder, 1x Aussentemp,
3x Wassermelder
bisher: 12x Funk-Jalousieaktor Unterputz Taster, 3x Rauchmelder, 1x Aussentemp,
3x Wassermelder
Re: Tageszeit in Abschnitte unterteilen Problem
Ich würde gerne die Definierung der versch. Tageszeiten etwas an meine Bedürfnisse anpassen.
Ich versteh allerdings nicht so ganz das Script.
Kann mir jemand sagen, was ich machen muss, wenn ich z.B. den "Abend" eine Stunde länger haben möchte und dafür die Nacht auch 1 Stunde nach hinten verschieben?
Grüße
Mr.Fusion
Ich versteh allerdings nicht so ganz das Script.
Kann mir jemand sagen, was ich machen muss, wenn ich z.B. den "Abend" eine Stunde länger haben möchte und dafür die Nacht auch 1 Stunde nach hinten verschieben?
Grüße
Mr.Fusion
- JPS
- Beiträge: 1093
- Registriert: 07.08.2010, 22:51
- System: Alternative CCU (auf Basis OCCU)
- Hat sich bedankt: 8 Mal
- Danksagung erhalten: 20 Mal
- Kontaktdaten:
Re: Tageszeit in Abschnitte unterteilen Problem
ändere...Mr.Fusion hat geschrieben:Ich würde gerne die Definierung der versch. Tageszeiten etwas an meine Bedürfnisse anpassen.
Ich versteh allerdings nicht so ganz das Script.
Kann mir jemand sagen, was ich machen muss, wenn ich z.B. den "Abend" eine Stunde länger haben möchte und dafür die Nacht auch 1 Stunde nach hinten verschieben?
Grüße
Mr.Fusion
Code: Alles auswählen
if (c_zeit < c_tagesende + 2) {
v_tageszeit = 7; ! Abend
}
if (c_zeit < c_tagesende + 1) {
v_tageszeit = 6; ! Abenddaemmerung
}
Code: Alles auswählen
if (c_zeit < c_tagesende + 3) {
v_tageszeit = 7; ! Abend
}
if (c_zeit < c_tagesende + 2) {
v_tageszeit = 6; ! Abenddaemmerung
}
Code: Alles auswählen
if (c_zeit < c_tagesbeginn - 2) {
v_tageszeit = 0; ! Nacht
}
Code: Alles auswählen
if (c_zeit < c_tagesbeginn - 1) {
v_tageszeit = 0; ! Nacht
}
Code: Alles auswählen
if (c_zeit < c_tagesbeginn - 1) {
v_tageszeit = 1; ! fruemorgens;
}
Verwendung meiner Hinweise und Skripte auf eigenes Risiko | Ich übernehme hierfür keinerlei Gewährleistung bzw. Haftung
Re: Tageszeit in Abschnitte unterteilen Problem
Irgendwie bekomme ich dieses Script nicht zum laufen.
Habe noch nicht so viel mit Systemvariablen gemacht, aber ich kann keinen offensichtlichen Fehler finden.
Die Systemvariable scheint sich nicht zu aktualisieren. Sie bleibt immer auf "Nacht" stehen.
Folgendermaßen sieht das bei mir aus:
Die Systemvariable eingerichtet: Der Status der Systemvariable (Screenshot wurde am 04.04. gemacht!) Das Programm führt das Script alle 60 Sekunden aus: Das Programm soll wenn Dämmerung oder Abend das Licht an den beiden angegebenen Aktoren anschalten.
Kann mir jemand sagen, was ich falsch mache?
Habe noch nicht so viel mit Systemvariablen gemacht, aber ich kann keinen offensichtlichen Fehler finden.
Die Systemvariable scheint sich nicht zu aktualisieren. Sie bleibt immer auf "Nacht" stehen.
Folgendermaßen sieht das bei mir aus:
Die Systemvariable eingerichtet: Der Status der Systemvariable (Screenshot wurde am 04.04. gemacht!) Das Programm führt das Script alle 60 Sekunden aus: Das Programm soll wenn Dämmerung oder Abend das Licht an den beiden angegebenen Aktoren anschalten.
Kann mir jemand sagen, was ich falsch mache?