+ self.fanoffmode = 'OFF'
+ self.minimum_pwm = 5
+ self.setPWM(config.plugins.manualfancontrols.pwmvalue.value)
+ self.checkStstusTimer = eTimer()
+ self.checkStstusTimer.callback.append(self.checkStstus)
+ if config.plugins.manualfancontrols.pwmvalue.value == 0:
+ self.fanoffmode = 'ON'
+ if self.check_fan_pwm():
+ if self.fanoffmode == 'ON':
+ self.checkStatusLoopStart()
+ config.misc.standbyCounter.addNotifier(self.standbyBegin, initial_call = False)
+# print "[ManualFancontrol] init : self.fanoffmode : ", self.fanoffmode
+# print "[ManualFancontrol] init : config.plugins.manualfancontrols.pwmvalue.value : ", config.plugins.manualfancontrols.pwmvalue.value
+
+ def checkStatusLoopStart(self):
+# print "[ManualFancontrol] checkStatusLoopStart"
+ self.checkStstusTimer.start(int(config.plugins.manualfancontrols.checkperiod.value) * 1000)
+
+ def checkStatusLoopStop(self):
+# print "[ManualFancontrol] checkStatusLoopStop"
+ self.checkStstusTimer.stop()
+
+ def checkStstus(self):
+ from Screens.Standby import inStandby
+ print "[ManualFancontrol] checkStstus, fanoffmode : %s, "%self.fanoffmode,"inStandby : ",inStandby and True or False
+ if self.fanoffmode is 'ON' : # pwmvalue is '0'
+ if self.isRecording() or self.isHDDActive():
+ self.setPWM(self.minimum_pwm)
+ else:
+ self.setPWM(0)
+ elif inStandby : # standby mode but pwm > 0
+ if self.isRecording() or self.isHDDActive():
+ self.setPWM(config.plugins.manualfancontrols.pwmvalue.value)
+ else:
+ self.setPWM(0)
+ else:
+ pwm = self.getPWM()
+ if pwm is not None and pwm != config.plugins.manualfancontrols.pwmvalue.value : # normal mode
+ self.setPWM(config.plugins.manualfancontrols.pwmvalue.value)