<?php
namespace ControlScripts;
/**
* Central registry for system modes.
*
* Tags are boolean contexts (not mutually exclusive).
* A Scope can query modes via $this->mode()->is('night'),
* and an action script can flip them via $this->mode()->enable('away').
*
* Labels and descriptions live here, in code — DB only stores runtime state.
*/
class ModesRegistry {
public static function definitions(): array {
return [
'home' => [
'label' => 'Дома',
'description' => 'Основной режим присутствия. Все системы работают в штатном режиме.',
],
'away' => [
'label' => 'Не дома',
'description' => 'Никого нет дома. Активны охранные сценарии и энергосбережение.',
],
'night' => [
'label' => 'Ночь',
'description' => 'Пониженная яркость освещения, тихие уведомления, усиленный контроль шума.',
],
'sleep' => [
'label' => 'Сон',
'description' => 'Минимум света и звука. Датчики движения переведены в тихий режим.',
],
'movie' => [
'label' => 'Кино',
'description' => 'Приглушённый свет в гостиной, отключены звуковые уведомления.',
],
];
}
}