added time trigger

This commit is contained in:
2025-03-08 17:05:07 +01:00
parent 020c376ee6
commit d1d11dfc5a
5 changed files with 35 additions and 6 deletions
+11 -2
View File
@@ -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>
+3 -2
View File
@@ -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
+18
View File
@@ -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
View File
@@ -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" }