Контроль свойства или переменной

Использование системы в различных ситуациях, вопросы программирования сценариев.

Модератор: immortal

Берендей
Сообщения: 125
Зарегистрирован: Ср окт 18, 2017 9:44 am
Благодарил (а): 24 раза
Поблагодарили: 18 раз

Контроль свойства или переменной

Сообщение Берендей » Чт окт 26, 2017 1:59 pm

Приветствую.

Нахожусь в самом начале осмысления процесса работы MD, и возник нубский вопрос.
Как делается постоянный контроль некого свойства или переменной?

Допустим есть ThisComputer.cputemp и я хочу ее постоянно контролировать.
Как сделать контроль не через таймер, а вставить проверку в какой либо цикл?
Можно ли организовывать свои циклы?
skysilver
Сообщения: 3006
Зарегистрирован: Чт авг 21, 2014 8:28 am
Откуда: Киров, Россия
Благодарил (а): 400 раз
Поблагодарили: 1754 раза
Контактная информация:

Re: Контроль свойства или переменной

Сообщение skysilver » Чт окт 26, 2017 2:04 pm

Берендей писал(а):Допустим есть ThisComputer.cputemp и я хочу ее постоянно контролировать.
Как сделать контроль не через таймер, а вставить проверку в какой либо цикл?
Можно ли организовывать свои циклы?
Уже есть такой функционал на уровне системы. Не надо ничего изобретать. Создаете свойство класса, ставите галочку вызывать метод метод при обновлении и пишите нужный метод. Все. Теперь каждом изменении этого свойства будет вызываться метод, в который и напишете свою логику.
MajorDoMo (GitHub) на Cubietruck. ОС Debian 7 (wheezy) (kernel 3.4.105) с переносом на HDD.
Мой CONNECT | Блоги | Telegram
Jager
Сообщения: 708
Зарегистрирован: Сб авг 18, 2012 10:21 am
Благодарил (а): 26 раз
Поблагодарили: 183 раза

Re: Контроль свойства или переменной

Сообщение Jager » Чт окт 26, 2017 2:09 pm

Берендей писал(а):Приветствую.
Нахожусь в самом начале осмысления процесса работы MD, и возник нубский вопрос.
Как делается постоянный контроль некого свойства или переменной?
Допустим есть ThisComputer.cputemp и я хочу ее постоянно контролировать.
Как сделать контроль не через таймер, а вставить проверку в какой либо цикл?
Можно ли организовывать свои циклы?
Вот эту ветку изучайте, там все есть.
Берендей
Сообщения: 125
Зарегистрирован: Ср окт 18, 2017 9:44 am
Благодарил (а): 24 раза
Поблагодарили: 18 раз

Re: Контроль свойства или переменной

Сообщение Берендей » Чт окт 26, 2017 2:57 pm

Цепочка Изменение свойства - Вызов метода мне понятна, но ко мне пока не приходит понимание, каким образом происходит изменение свойства.

Для записи в ThisComputer.CpuTemp нужен такой код:

$temp=exec('cat /sys/devices/virtual/thermal/thermal_zone0/temp');
sg('ThisComputer.CpuTemp', round($temp,1));

Каким образом, и откуда он должен вызываться?
OrangePI PC/ARMBIAN 5.36 + DS3231+433Mhz. Esp8266(ArduinoIDE). Arduino MEGA2560 + Oregon THGN132N.
Sonoff RF Bridge + sensors
skysilver
Сообщения: 3006
Зарегистрирован: Чт авг 21, 2014 8:28 am
Откуда: Киров, Россия
Благодарил (а): 400 раз
Поблагодарили: 1754 раза
Контактная информация:

Re: Контроль свойства или переменной

Сообщение skysilver » Чт окт 26, 2017 2:59 pm

Берендей писал(а):Каким образом, и откуда он должен вызываться?
Как вариант, добавить эти две строчки в метод onNewMinute. Будет вызываться каждую минуту.
MajorDoMo (GitHub) на Cubietruck. ОС Debian 7 (wheezy) (kernel 3.4.105) с переносом на HDD.
Мой CONNECT | Блоги | Telegram
Берендей
Сообщения: 125
Зарегистрирован: Ср окт 18, 2017 9:44 am
Благодарил (а): 24 раза
Поблагодарили: 18 раз

Re: Контроль свойства или переменной

Сообщение Берендей » Чт окт 26, 2017 3:07 pm

Это понятно, я делал вызов через Cron, и все работает. Но возможно ли привязывать контроль
состояний не к временным интервалам а делать это "на лету"?
OrangePI PC/ARMBIAN 5.36 + DS3231+433Mhz. Esp8266(ArduinoIDE). Arduino MEGA2560 + Oregon THGN132N.
Sonoff RF Bridge + sensors
skysilver
Сообщения: 3006
Зарегистрирован: Чт авг 21, 2014 8:28 am
Откуда: Киров, Россия
Благодарил (а): 400 раз
Поблагодарили: 1754 раза
Контактная информация:

Re: Контроль свойства или переменной

Сообщение skysilver » Чт окт 26, 2017 3:12 pm

Состояний чего?
MajorDoMo (GitHub) на Cubietruck. ОС Debian 7 (wheezy) (kernel 3.4.105) с переносом на HDD.
Мой CONNECT | Блоги | Telegram
Берендей
Сообщения: 125
Зарегистрирован: Ср окт 18, 2017 9:44 am
Благодарил (а): 24 раза
Поблагодарили: 18 раз

Re: Контроль свойства или переменной

Сообщение Берендей » Чт окт 26, 2017 3:15 pm

Некорректно выразился.
Не контроль состояний, а изменение свойств.
OrangePI PC/ARMBIAN 5.36 + DS3231+433Mhz. Esp8266(ArduinoIDE). Arduino MEGA2560 + Oregon THGN132N.
Sonoff RF Bridge + sensors
skysilver
Сообщения: 3006
Зарегистрирован: Чт авг 21, 2014 8:28 am
Откуда: Киров, Россия
Благодарил (а): 400 раз
Поблагодарили: 1754 раза
Контактная информация:

Re: Контроль свойства или переменной

Сообщение skysilver » Чт окт 26, 2017 3:22 pm

Берендей писал(а):Некорректно выразился. Не контроль состояний, а изменение свойств.
Давайте подробностей, а то ничего не понятно, что имеется в виду и что хотите вообще сделать. Про контроль изменения свойств объектов в МЖД уже отписали. Какие еще надо свойства?
MajorDoMo (GitHub) на Cubietruck. ОС Debian 7 (wheezy) (kernel 3.4.105) с переносом на HDD.
Мой CONNECT | Блоги | Telegram
skysilver
Сообщения: 3006
Зарегистрирован: Чт авг 21, 2014 8:28 am
Откуда: Киров, Россия
Благодарил (а): 400 раз
Поблагодарили: 1754 раза
Контактная информация:

Re: Контроль свойства или переменной

Сообщение skysilver » Чт окт 26, 2017 3:24 pm

Вы что ли хотите, чтобы при изменении температуры процессора автоматом изменялось свойство в МЖД без каких-либо периодических опросов с его стороны?
MajorDoMo (GitHub) на Cubietruck. ОС Debian 7 (wheezy) (kernel 3.4.105) с переносом на HDD.
Мой CONNECT | Блоги | Telegram
Ответить