+//CT1-CT7 = Hour on day 1-7
+//CT11-CT17 = Minute on day 1-7
+//CF1-CF7 = Hour off day 1-7
+//CF17-CF17 = Minute off day 1-7
+//00:00 - 24:00 = always on
+//00:00 - 00:00 = always off
+ schedule.DefaultValue = "0";
+ for (var i=1; i<=7; i++) {
+ var onHours = tagValue(prefix + "_CT" + day);
+ var onMinutes = tagValue(prefix + "_CT1" + day);
+ var offHours = tagValue(prefix + "_CF" + day);
+ var offMinutes = tagValue(prefix + "_CF1" + day);
+ onHours = pad(onHours, 2);
+ onMinutes = pad(onMinutes, 2);
+ offHours = pad(offHours, 2);
+ offMinutes = pad(offMinutes, 2);
+ on = onHours + "" + onMinutes;
+ off = offHours + "" + offMinutes;
+ if (onHours == "00" && onMinutes == "00" && offHours == "00" && offMinutes == "00") {
+ else if (offHours == "24" && offMinutes == "00")
+ schedule.AddEvent("1", on + "-0000:" + i);
+ schedule.AddEvent("1", on + "-" + off + ":" + i);
+ var days = [0, 0, 0 ,0, 0, 0, 0, 0, 0];
+ for (var i=0; i<schedule.Events.Count; i++) {
+ if (schedule.Events[i].Value != schedule.DefaultValue && schedule.Events[i].Time.Length == 11) {
+ day = schedule.Events[i].Time.Substring(10);
+ var onHours = schedule.Events[i].Time.Substring(0,2);
+ var onMinutes = schedule.Events[i].Time.Substring(2,2);
+ var offHours = schedule.Events[i].Time.Substring(5,2);
+ var offMinutes = schedule.Events[i].Time.Substring(7,2);
+ if (offHours == "00" && offMinutes == "00")
+ tagWrite(prefix + "_CT" + day, onHours);
+ tagWrite(prefix + "_CT1" + day, onMinutes);
+ tagWrite(prefix + "_CF" + day, offHours);
+ tagWrite(prefix + "_CF1" + day, offMinutes);
+ for (var i=1; i<=7; i++) {
+ for (var n=days[i-1]; n<=nbrOnOff; n++) {
+ tagWrite(prefix + "_CT" + day, "00");
+ tagWrite(prefix + "_CT1" + day, "00");
+ tagWrite(prefix + "_CF" + day, "00");
+ tagWrite(prefix + "_CF1" + day, "00");
+function pad(n, width) {
+ for (var i=n.length;i<width;i++) {