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>
<logLevel>Debug</logLevel>
<testMode>true</testMode>
<defaultGovernor>conservative</defaultGovernor>
<defaultGovernor>powersave</defaultGovernor>
<triggers>
<trigger>
<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>
</customConfig>
</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>
<powersaveDelayInMinutes>5</powersaveDelayInMinutes>
</cpuGovernorAutoAdjust>
+3 -2
View File
@@ -1,9 +1,10 @@
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 = {
'test_trigger1': TestTrigger1,
'test_trigger2': TestTrigger2,
'roon': RoonTrigger
'roon': RoonTrigger,
'time': TimeTrigger
}
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_trigger2 import TestTrigger2
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]
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."
authors = [
{ name = "Martin Reurekas", email = "martin@semrks.nl" }