# -*- 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", ]