public static Status GetStatus() { var status = new Status(); foreach (TimedEvent te in heatingData.events) { if (te.IsActive(DateTime.MinValue)) { var le = new LiveEvent(); le.timedEvent = te; le.heater = HeatingControl.GetHeater(te.subjectId); le.relay = HeatingControl.GetRelayByAddress(le.heater.relayAddress); status.liveEvents.Add(le); } else if (te.IsActive(DateTime.MinValue, Status.SOONTIME)) { var le = new LiveEvent(); le.timedEvent = te; le.heater = HeatingControl.GetHeater(te.subjectId); le.relay = HeatingControl.GetRelayByAddress(le.heater.relayAddress); status.soonEvents.Add(le); } } status.sensors = heatingData.sensors; return(status); }
public static void DoEvents() { try { RelayControl.ResetAllSetupRelays(); foreach (TimedEvent timedEvent in HeatingControl.GetAllEvents()) { if (timedEvent.IsActive(DateTime.MinValue)) { switch (timedEvent.subjectType) { case "heater": Heater heater = HeatingControl.GetHeater(timedEvent.subjectId); if (heater == null) { break; } Logger.Log(Logger.LOGLEVEL_INFO, "Active timed event: heater: " + heater.name + ", relay: " + heater.relayAddress + ", event: " + timedEvent.description); ProcessHeaterEvent(heater, timedEvent); break; } } } RelayControl.UpdateRelays(); } catch (Exception ex) { var testVal = ex; } }