| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159 |
- # -*- coding: utf-8 -*-
- """
- Scheduler Module - Flexibles Job-Scheduling-System.
- Unterstützt:
- - Cron-ähnliche Zeit-basierte Trigger
- - Event-basierte Trigger (EventManager)
- - Interval-Trigger
- - DateTime-Trigger (einmalig)
- - Conditions (Zeitfenster, Aktivität, Sensoren, Zustand)
- - Composite Triggers/Conditions (AND/OR/NOT/XOR)
- - Persistierung von Jobs in ./cron/*.json
- """
- from trixy_core.scheduler.job import (
- ScheduledJob,
- JobConfig,
- JobState,
- JobResult,
- )
- from trixy_core.scheduler.trigger import (
- Trigger,
- TriggerState,
- CronTrigger,
- IntervalTrigger,
- DateTimeTrigger,
- EventTrigger,
- AndTrigger,
- OrTrigger,
- )
- from trixy_core.scheduler.condition import (
- Condition,
- # Time
- TimeRangeCondition,
- DayOfWeekCondition,
- DateRangeCondition,
- # Activity
- RecentActivityCondition,
- ActivityCountCondition,
- # Sensor
- ComparisonOperator,
- SensorThresholdCondition,
- SensorChangeCondition,
- # State
- StateCondition,
- BooleanCondition,
- ExistsCondition,
- # Composite
- AndCondition,
- OrCondition,
- NotCondition,
- XorCondition,
- # Script
- ScriptCondition,
- AsyncScriptCondition,
- # File Value
- JsonValueCondition,
- IniValueCondition,
- YamlValueCondition,
- TomlValueCondition,
- EnvFileValueCondition,
- # Expression
- ExpressionCondition,
- LambdaCondition,
- satellites_connected,
- satellite_in_room,
- plugin_enabled,
- music_playing,
- music_stopped,
- conversation_active,
- no_conversation,
- )
- from trixy_core.scheduler.action import (
- Action,
- ActionResult,
- EmitEventAction,
- MultiEventAction,
- CallbackAction,
- MethodAction,
- CommandAction,
- ScriptAction,
- )
- from trixy_core.scheduler.scheduler import (
- Scheduler,
- SchedulerConfig,
- )
- from trixy_core.scheduler.service import (
- SchedulerService,
- )
- __all__ = [
- # Job
- "ScheduledJob",
- "JobConfig",
- "JobState",
- "JobResult",
- # Triggers
- "Trigger",
- "TriggerState",
- "CronTrigger",
- "IntervalTrigger",
- "DateTimeTrigger",
- "EventTrigger",
- "AndTrigger",
- "OrTrigger",
- # Conditions - Time
- "Condition",
- "TimeRangeCondition",
- "DayOfWeekCondition",
- "DateRangeCondition",
- # Conditions - Activity
- "RecentActivityCondition",
- "ActivityCountCondition",
- # Conditions - Sensor
- "ComparisonOperator",
- "SensorThresholdCondition",
- "SensorChangeCondition",
- # Conditions - State
- "StateCondition",
- "BooleanCondition",
- "ExistsCondition",
- # Conditions - Composite
- "AndCondition",
- "OrCondition",
- "NotCondition",
- "XorCondition",
- # Conditions - Script
- "ScriptCondition",
- "AsyncScriptCondition",
- # Conditions - File Value
- "JsonValueCondition",
- "IniValueCondition",
- "YamlValueCondition",
- "TomlValueCondition",
- "EnvFileValueCondition",
- # Conditions - Expression
- "ExpressionCondition",
- "LambdaCondition",
- "satellites_connected",
- "satellite_in_room",
- "plugin_enabled",
- "music_playing",
- "music_stopped",
- "conversation_active",
- "no_conversation",
- # Actions
- "Action",
- "ActionResult",
- "EmitEventAction",
- "MultiEventAction",
- "CallbackAction",
- "MethodAction",
- "CommandAction",
- "ScriptAction",
- # Scheduler
- "Scheduler",
- "SchedulerConfig",
- "SchedulerService",
- ]
|