![Smile :)](./images/smilies/icon_smile.gif)
Nur nochmal ne kleine Verständnisfrage ...
Irgendwie kann ich nicht so ganz nachvollziehen wie du auf die 595 kommst, wenn ich mir das Bild mit den Kurven anschaue, dann steht da B=1245
Moderator: Co-Administratoren
Ich blicke es zwar trotzdem noch nicht, aber ich nehme es einfach als gegeben hin, es wird schon passenfunkleuchtturm hat geschrieben:... rechne bitte mal die komplette Gleichung aus (siehe Bild), dann wirst Du auf die verwendete Gleichung kommen.
Code: Alles auswählen
!Umformen von der Minutendarstellung von ROLL in Stundendarstellung hh,mm
!und abspeichern auf Systemvariable "roll_zeit_hh_mm"
real su_zeit = 0.016666666666667 *ROLL;
real su_zeit_h = su_zeit.ToInteger();
real su_zeit_m = (su_zeit - su_zeit_h) *60.0;
su_zeit_m =0.01 * su_zeit_m.ToInteger();
real su_zeit= su_zeit_m + su_zeit_h;
dom.GetObject("roll_zeit_hh_mm").State(su_zeit);
So ist es wohl. Lies Dir mal mein Tutorial zum Thema durch:Glatze680 hat geschrieben:Also kann es ja nur an meiner Ansteuerng von den Rolläden liegen.
Code: Alles auswählen
!Skript setzt die logische Systemvariable "rolladengeschlossen" auf true, wenn Rolladen runter
!Rolladen-Schliesszeit ROLL berechnet sich aus der aktuellen Sonnenuntergangszeit SU
!Zeitberechnung immer im Minutenschema!aktuellen Sonnenaufgang berechnen
integer SU = system.SunsetTime("%M").ToInteger() + 60* system.SunsetTime("%H").ToInteger();
integer zeit = system.Date("%M").ToInteger() + 60*system.Date("%H").ToInteger();
if (dom.GetObject('Urlaub').State() == 0)
{
real ROLL = 665.0 + 0.475* SU;
}
else
{
real ROLL = SU;
}
if (zeit > ROLL) {dom.GetObject("rolladengeschlossen").State(1);}
real su_zeit = 0.0166 *ROLL;
real su_zeit_h = su_zeit.ToInteger();
real su_zeit_m = (su_zeit - su_zeit_h) *60.0;
su_zeit_m =0.01 * su_zeit_m.ToInteger();
real su_zeit= su_zeit_m + su_zeit_h;
dom.GetObject("rolladenzeit").State(su_zeit);