added time trigger
This commit is contained in:
@@ -2,7 +2,7 @@
|
|||||||
<cpuGovernorAutoAdjust>
|
<cpuGovernorAutoAdjust>
|
||||||
<logLevel>Debug</logLevel>
|
<logLevel>Debug</logLevel>
|
||||||
<testMode>true</testMode>
|
<testMode>true</testMode>
|
||||||
<defaultGovernor>conservative</defaultGovernor>
|
<defaultGovernor>powersave</defaultGovernor>
|
||||||
<triggers>
|
<triggers>
|
||||||
<trigger>
|
<trigger>
|
||||||
<name>test_trigger1</name>
|
<name>test_trigger1</name>
|
||||||
@@ -30,6 +30,15 @@
|
|||||||
<tokenFilePath>/home/martin/dev/cpu_governor_auto_adjust/cpu_governor_auto_adjust/triggers/.data/token_file</tokenFilePath>
|
<tokenFilePath>/home/martin/dev/cpu_governor_auto_adjust/cpu_governor_auto_adjust/triggers/.data/token_file</tokenFilePath>
|
||||||
</customConfig>
|
</customConfig>
|
||||||
</trigger>
|
</trigger>
|
||||||
|
<trigger>
|
||||||
|
<name>time</name>
|
||||||
|
<type>run_once</type>
|
||||||
|
<intervalInSeconds>5</intervalInSeconds>
|
||||||
|
<governor>conservative</governor>
|
||||||
|
<customConfig>
|
||||||
|
<startTime>7:00</startTime>
|
||||||
|
<endTime>23:59</endTime>
|
||||||
|
</customConfig>
|
||||||
|
</trigger>
|
||||||
</triggers>
|
</triggers>
|
||||||
<powersaveDelayInMinutes>5</powersaveDelayInMinutes>
|
|
||||||
</cpuGovernorAutoAdjust>
|
</cpuGovernorAutoAdjust>
|
||||||
|
|||||||
@@ -1,9 +1,10 @@
|
|||||||
from types import MappingProxyType
|
from types import MappingProxyType
|
||||||
from cpu_governor_auto_adjust.triggers import TestTrigger1, TestTrigger2, RoonTrigger
|
from cpu_governor_auto_adjust.triggers import TestTrigger1, TestTrigger2, RoonTrigger, TimeTrigger
|
||||||
|
|
||||||
_trigger_mapping = {
|
_trigger_mapping = {
|
||||||
'test_trigger1': TestTrigger1,
|
'test_trigger1': TestTrigger1,
|
||||||
'test_trigger2': TestTrigger2,
|
'test_trigger2': TestTrigger2,
|
||||||
'roon': RoonTrigger
|
'roon': RoonTrigger,
|
||||||
|
'time': TimeTrigger
|
||||||
}
|
}
|
||||||
trigger_mapping = MappingProxyType(_trigger_mapping)
|
trigger_mapping = MappingProxyType(_trigger_mapping)
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
__all__ = ["test_trigger1", "test_trigger2", "roon"]
|
__all__ = ["test_trigger1", "test_trigger2", "roon", "time"]
|
||||||
|
|
||||||
from .test_trigger1 import TestTrigger1
|
from .test_trigger1 import TestTrigger1
|
||||||
from .test_trigger2 import TestTrigger2
|
from .test_trigger2 import TestTrigger2
|
||||||
from .roon import RoonTrigger
|
from .roon import RoonTrigger
|
||||||
|
from .time import TimeTrigger
|
||||||
|
|||||||
@@ -0,0 +1,18 @@
|
|||||||
|
from cpu_governor_auto_adjust.trigger import Trigger
|
||||||
|
from cpu_governor_auto_adjust.config import Config
|
||||||
|
from datetime import datetime, time
|
||||||
|
|
||||||
|
|
||||||
|
class TimeTrigger(Trigger):
|
||||||
|
def __init__(self, _config: Config) -> None:
|
||||||
|
super().__init__(_config)
|
||||||
|
|
||||||
|
def start_time(self) -> time:
|
||||||
|
return datetime.strptime(self.config.custom_config['startTime'], '%H:%M').time()
|
||||||
|
|
||||||
|
def end_time(self) -> time:
|
||||||
|
return datetime.strptime(self.config.custom_config['endTime'], '%H:%M').time()
|
||||||
|
|
||||||
|
def run(self) -> None:
|
||||||
|
self.log.debug("start time: %s, end time: %s", self.start_time(), self.end_time())
|
||||||
|
self.active = self.start_time() <= datetime.now().time() <= self.end_time()
|
||||||
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
[project]
|
[project]
|
||||||
name = "cpu_governor_auto_adjust"
|
name = "cpu_governor_auto_adjust"
|
||||||
version = "0.1.30"
|
version = "0.1.31"
|
||||||
description = "This application has been developed to automatically change cpu governor based on certain triggers."
|
description = "This application has been developed to automatically change cpu governor based on certain triggers."
|
||||||
authors = [
|
authors = [
|
||||||
{ name = "Martin Reurekas", email = "martin@semrks.nl" }
|
{ name = "Martin Reurekas", email = "martin@semrks.nl" }
|
||||||
|
|||||||
Reference in New Issue
Block a user