Hallo eric,
zunächst einmal mein besonderer Dank für die Bereitstelung deines Heizungsthermostatscriptes. Ich habe es an meine Bedürfnisse angepasst und es funktioniert hervorragend. Die Idee zu prüfen, ob aktuell ein Feiertag ist und diesen Zustand mit im Script auszuwerten finde ich super. Da ich jedoch einfach zu faul bin, immer wieder die Feiertage herauszusuchen und diese in das Script zu tippen, habe ich mir einmal die Mühe gemacht, ein eigenes Script zu schreiben. Hierbei berechnet die Homematiczentrale selbstständig alle Feiertage des aktuellen Jahres. Alle Infos dazu findest du hier:
http://homematic-forum.de/forum/viewtop ... =27&t=4058
So, nun mein Fragen zu deinem Script.
1. Am Ende des Scriptes, nach der Debug Zeile, setzt du eine Variable, die im Script keine Verwendung findet (integer regler_gesetzt = 1). Wofür nutzt du diese Variable?
2. In der If-Anweisung, bei der die Solltemperatur gesetzt wird, hast du in der aktuellen Version die Bedingung (diff_aa <= 30) hinzugefügt. Da in Sekunden gerechnet wird, wie bei setdelta, wären dies ja 30 Sekunden. Die Logik erschließt sich mir im Moment nicht. Um das nachvollziehen zu können, könntest du mich bitte aufklären?
Da ich erst seit kurzem eine Homematiczentrale besitze und auch erst genau so lange programmiere, noch 2 Fragen zur Programmierung.
1. Die Variable Heizwert ist vom Typ string. Bei den If-Anweisungen werden die Werte jedoch nicht in Anführungsstrich gesetzt. Obwohl das Script funktioniert, wäre es richtig diese in Anführungsstriche zu setzen oder ist dies bei der Programmierung grundsätzlich egal?
2. Bei der Zuweisung der "zeitleiste_heute", wird diese zum einen als string definiert und zum anderen der entsprechendn Wert, je nach Wochentag, zugewiesen. Danach wird, wenn ein Feiertag ist, die Variable "zeitleiste_heute" erneut als string definiert und ein entsprechender Wert zugewiesen. Könnte man hier nicht die String-Definition weglassen und nur den Wert zuweisen, oder ist die Homematic beim programmieren auch hierbei ziemlich tolerant?
Gruß
Peter