[Вопрос] Обработка значения при его изменении

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

Модератор: immortal

papant
Сообщения: 5
Зарегистрирован: Вт сен 26, 2017 1:30 pm
Благодарил (а): 0
Поблагодарили: 7 раз

Re: [Вопрос] Обработка значения при его изменении

Сообщение papant » Сб мар 03, 2018 10:42 pm

Разрешите здесь спрошу, вроде по смыслу подходит.
МЖД курить только начал, поэтому прошу сразу не забрасывать ссаными тряпками, поиском пользовался...
Дано: прикручиваю счетчик потребленного электричества по миганиям светодиода на электросчетчике. Пытаюсь разобраться со свойствами и методами на примере например класса humiditySensors (есть из коробки). В нем есть объект humSensor01, который наследует свойства и методы от родителя. Внимание вопрос: никак не пойму как вызывается метод humChanged, в котором уже написан код раскидывания по свойствам например даты, времени и т.д.. Ведь если посмотреть объект humSensor01, то у свойства humidity нет галки "при изменении вызывать метод humChanged". Дак вот как он вызывается то?
Я просто счетчик электричества проектирую по миганиям светодиода на нем, считаю мигания, по MQTT отправляю в класс Scounters (там объект мой есть с нужными мне свойствами), написал метод. А вот как его вызвать при изменении свойства ПРАВИЛЬНО не пойму. Можно конечно выбрать "при изменении запускать метод такой-то", но вроде в образце так работает и не пойму почему
skysilver
Сообщения: 3006
Зарегистрирован: Чт авг 21, 2014 8:28 am
Откуда: Киров, Россия
Благодарил (а): 400 раз
Поблагодарили: 1753 раза
Контактная информация:

Re: [Вопрос] Обработка значения при его изменении

Сообщение skysilver » Сб мар 03, 2018 10:45 pm

papant писал(а):Ведь если посмотреть объект humSensor01, то у свойства humidity нет галки "при изменении вызывать метод humChanged". Дак вот как он вызывается то?
Надо смотреть свойство не на уровне объекта, а на уровне класса. Свойство, созданное на уровне класса, позволяет настраивать метод на изменение. Такое классовое свойство также будет выделено жирным шрифтом в админке.
MajorDoMo (GitHub) на Cubietruck. ОС Debian 7 (wheezy) (kernel 3.4.105) с переносом на HDD.
Мой CONNECT | Блоги | Telegram
papant
Сообщения: 5
Зарегистрирован: Вт сен 26, 2017 1:30 pm
Благодарил (а): 0
Поблагодарили: 7 раз

Re: [Вопрос] Обработка значения при его изменении

Сообщение papant » Вс мар 04, 2018 12:06 am

skysilver писал(а):
papant писал(а):Ведь если посмотреть объект humSensor01, то у свойства humidity нет галки "при изменении вызывать метод humChanged". Дак вот как он вызывается то?
Надо смотреть свойство не на уровне объекта, а на уровне класса. Свойство, созданное на уровне класса, позволяет настраивать метод на изменение. Такое классовое свойство также будет выделено жирным шрифтом в админке.
Хорошо, смотрим на уровне класса свойство humidity, там тоже не выбрано "запускать метод при изменении". Получается просто висит какой-то метод в классе, ни к чему не привязан (по крайней мере я не вижу как) и нормально вызывается и отрабатывает. Научите меня как это сделано плиз, сам не смогаю.
Аватара пользователя
xor
Сообщения: 2039
Зарегистрирован: Сб ноя 22, 2014 8:45 pm
Благодарил (а): 286 раз
Поблагодарили: 629 раз

Re: [Вопрос] Обработка значения при его изменении

Сообщение xor » Вс мар 04, 2018 1:00 am

Ну, влажность приходит как-то извне. Данные от датчика могут обрабатываться каким-то скриптом. А в скрипте этот метод этого датчика может и вызываться.

У вас-то влажность как приходит?
Аватара пользователя
xor
Сообщения: 2039
Зарегистрирован: Сб ноя 22, 2014 8:45 pm
Благодарил (а): 286 раз
Поблагодарили: 629 раз

Re: [Вопрос] Обработка значения при его изменении

Сообщение xor » Вс мар 04, 2018 1:57 am

И, да.
Почему бы не воспользоваться поиском?
Так не пробовали?
Вбить свой метод
2018-03-04_01-54-57.png
2018-03-04_01-54-57.png (7.2 КБ) 3479 просмотров
zarro
Сообщения: 29
Зарегистрирован: Вс мар 20, 2016 11:55 am
Благодарил (а): 12 раз
Поблагодарили: 6 раз

Re: [Вопрос] Обработка значения при его изменении

Сообщение zarro » Вс сен 20, 2020 8:04 pm

Fatal error: Cannot redeclare registerEvent() (previously declared in C:\_majordomo\htdocs\lib\common.class.php:529) in C:\_majordomo\htdocs\lib\events.class.php on line 15
Померла в 100500 раз... :( Никакие бэкапы пе помогают. Как показывает практика не существует надежного простого средства резервного копирования МД. Только слив образа...
Logrus
Сообщения: 2084
Зарегистрирован: Пт апр 07, 2017 12:20 pm
Благодарил (а): 313 раз
Поблагодарили: 457 раз

Re: [Вопрос] Обработка значения при его изменении

Сообщение Logrus » Вс сен 20, 2020 8:20 pm

zarro писал(а):
Вс сен 20, 2020 8:04 pm
Fatal error: Cannot redeclare registerEvent() (previously declared in C:\_majordomo\htdocs\lib\common.class.php:529) in C:\_majordomo\htdocs\lib\events.class.php on line 15
Померла в 100500 раз... :( Никакие бэкапы пе помогают. Как показывает практика не существует надежного простого средства резервного копирования МД. Только слив образа...
подозреваю если б не путали ветки форума, то вероятней всего нашли б и ответ на ваш не заданный вопрос
Telegram | Блог
Raspberry Pi3, с образа от Сергея 3.31, PHP 7, флешка 16 Гб работает с 10.09.2017
Почти всё время уходит на исправление ошибок, оставшееся - на их повторение. (с) ))) Спасибо
Ответить