Divan писал(а): Вт сен 10, 2019 11:43 am
Методы можно добавлять только в основном объекте, а в под объекте, методы можно только настраивать. Смотрите скриншот ниже.
в итоге так и сделал, но метод не работает. Проверьте мне код плз, мало опыта с пхп.
Мне кажется ваша проблема в другом. Вы просто НЕ запускаете метод. По этому при ручном запуске у вас всё сработало. А автоматически надо настроить периодический запуск метода. Тут несколько вариантов.
1) поместить запуск метода (команду, которую выше приводил) в метод onNewHour/onNewMinute в класс Timers или в объект ClockChime этого класса. Эти методы запускаются автоматически системой раз в час/раз в минуту. Если раз в минуту запускать вам будет достаточно - можно и на этом остановиться.
2) сделать "самоперезапускающийся" таймер, который будет запускаться раз в указанное время (где то была тема, лень искать, да и вариант не лучший)
3) воспользоваться модулем Cron, и поставить метод на запуск опять же раз в указанный промежуток.
4) Поместить ваш объект вместе с методами в класс SystemStates. У данного класса метод StatusCheck или как там он - запускается раз в 5 секунд. Весь код переместить туда. Думаю этого более чем достаточно будет.
Divan писал(а): Вт сен 10, 2019 11:43 am
Методы можно добавлять только в основном объекте, а в под объекте, методы можно только настраивать. Смотрите скриншот ниже.
То что наверху называется "класс", а внизу как раз - "объект". И настроить можно на уровне класса. У человека как раз как будто через класс код написан, с конструкциями $this->.
Для начала - скажите где у вас код? В классе, или в методе объекта? Если в методе объекта, и если такой, как вы выше привели - строка $this->callMethod('remchanged'); по идее вызовет метод remchanged при указанных условиях.
nick7zmail писал(а): Вт сен 10, 2019 2:27 pm
Для начала - скажите где у вас код? В классе, или в методе объекта? Если в методе объекта, и если такой, как вы выше привели - строка $this->callMethod('remchanged'); по идее вызовет метод remchanged при указанных условиях.
уже разобрался - в настройках метода remchanged было выбрано выполнять код, переключил на сценарий и стало все норм. уже все работает, сделал через systemState и его методы. И создал отдельную панельку с сообщениями про узлы так же как про статусы системы.
Еще вопрос: А как заставить функцию say проговаривать написанное? Ато она только в лог сообщение выводит
Приоритет поменять
say('бла бла бла', 3);
Либо MinMsgLevel в ThisComputer поменять. Там минимальный уровень важности при котором сообщения начинают произносится. По-умолчанию вроде 2.
А есть какая нибудь инструкция по первичной настройке и принципу работы системы, основным функциям? Чтобы не задавать кучу вопросов для решения задачи, а их еще будет очень много.