// Schaltzeiten evalieren
// https://forum.arduino.cc/t/relay-controllino-schalten-uber-0-uhr/1097679/
// code in Sketch
// von der IDEE
// WENN offTime > onTime und onTime < jetzt und offTime > jetzt DANN einschalten
// WENN offTime < onTime und offTime > jetzt und onTime > jetzt DANN einschalten
// zur Umsetzung:
bool isActive(uint16_t time, uint16_t onTime, uint16_t offTime){
if (offTime > onTime && onTime <= time && offTime > time) return true; // within the same day
if (offTime < onTime && offTime >= time && onTime >= time) return true; // during two days
return false;
}
void setup() {
Serial.begin(115200);
// time on off
Serial.println(isActive(1430, 1500, 1600)); // inactive
Serial.println(isActive(1530, 1500, 1600)); // active
Serial.println(isActive(1630, 1500, 1600)); // inactive
Serial.println();
Serial.println(isActive(1500, 1500, 1600)); // active
Serial.println(isActive(1600, 1500, 1600)); // inactive
Serial.println();
Serial.println(isActive(1530, 1600, 1500)); // inactive
Serial.println(isActive(1430, 1600, 1500)); // active
Serial.println(isActive(1630, 1500, 1600)); // inactive
Serial.println();
Serial.println(isActive(1500, 1600, 1500)); // active
Serial.println(isActive(1600, 1600, 1500)); // inactive
}
void loop() {
// put your main code here, to run repeatedly:
}