My knowledge of Python is none, but i couldn't see any other way?
Right now I'm stuck, not sure how subtract the preheat time from my variable the easiest way?
The travelTime variable is stored "21:21" - I could of course store it in some other format, but the variable is right now set from a controlpage so it has to somewhat user-friendly.
"startHeater = travelTime - diff" is just a representation of what i would like to do.
- Code: Select all
from datetime import datetime
EngineHeater = indigo.devices[606496378]
outTemp = float(indigo.variables[1616368062].value)
travelTime = indigo.variables[138374955].value
if (outTemp < 7.0): #Start 1 hour before departure time
diff = 60
if (outTemp < 0.0): #Start 1.5 hours before departure time
diff = 90
if (outTemp < -10.0): #Start 2 hours before departure time
diff = 120
if (outTemp < -20.0): #Start 3 hours before departure time
diff = 180
[b]startHeater = travelTime - diff[/b]
indigo.server.log("Current time is: " + datetime.now().strftime("%H:%M"))
indigo.server.log("Outside Temperatur: " + str(outTemp))
indigo.server.log("Travel time is set at: " + travelTime)
indigo.server.log("Engine heater preheats for: " + str(diff))
if startHeater == datetime.now().strftime("%H:%M"):
indigo.device.turnOn(EngineHeater)