Страница 2 из 2

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

Добавлено: Сб мар 03, 2018 10:42 pm
papant
Разрешите здесь спрошу, вроде по смыслу подходит.
МЖД курить только начал, поэтому прошу сразу не забрасывать ссаными тряпками, поиском пользовался...
Дано: прикручиваю счетчик потребленного электричества по миганиям светодиода на электросчетчике. Пытаюсь разобраться со свойствами и методами на примере например класса humiditySensors (есть из коробки). В нем есть объект humSensor01, который наследует свойства и методы от родителя. Внимание вопрос: никак не пойму как вызывается метод humChanged, в котором уже написан код раскидывания по свойствам например даты, времени и т.д.. Ведь если посмотреть объект humSensor01, то у свойства humidity нет галки "при изменении вызывать метод humChanged". Дак вот как он вызывается то?
Я просто счетчик электричества проектирую по миганиям светодиода на нем, считаю мигания, по MQTT отправляю в класс Scounters (там объект мой есть с нужными мне свойствами), написал метод. А вот как его вызвать при изменении свойства ПРАВИЛЬНО не пойму. Можно конечно выбрать "при изменении запускать метод такой-то", но вроде в образце так работает и не пойму почему

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

Добавлено: Сб мар 03, 2018 10:45 pm
skysilver
papant писал(а):Ведь если посмотреть объект humSensor01, то у свойства humidity нет галки "при изменении вызывать метод humChanged". Дак вот как он вызывается то?
Надо смотреть свойство не на уровне объекта, а на уровне класса. Свойство, созданное на уровне класса, позволяет настраивать метод на изменение. Такое классовое свойство также будет выделено жирным шрифтом в админке.

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

Добавлено: Вс мар 04, 2018 12:06 am
papant
skysilver писал(а):
papant писал(а):Ведь если посмотреть объект humSensor01, то у свойства humidity нет галки "при изменении вызывать метод humChanged". Дак вот как он вызывается то?
Надо смотреть свойство не на уровне объекта, а на уровне класса. Свойство, созданное на уровне класса, позволяет настраивать метод на изменение. Такое классовое свойство также будет выделено жирным шрифтом в админке.
Хорошо, смотрим на уровне класса свойство humidity, там тоже не выбрано "запускать метод при изменении". Получается просто висит какой-то метод в классе, ни к чему не привязан (по крайней мере я не вижу как) и нормально вызывается и отрабатывает. Научите меня как это сделано плиз, сам не смогаю.

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

Добавлено: Вс мар 04, 2018 1:00 am
xor
Ну, влажность приходит как-то извне. Данные от датчика могут обрабатываться каким-то скриптом. А в скрипте этот метод этого датчика может и вызываться.

У вас-то влажность как приходит?

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

Добавлено: Вс мар 04, 2018 1:57 am
xor
И, да.
Почему бы не воспользоваться поиском?
Так не пробовали?
Вбить свой метод
2018-03-04_01-54-57.png
2018-03-04_01-54-57.png (7.2 КБ) 4410 просмотров

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

Добавлено: Вс сен 20, 2020 8:04 pm
zarro
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 раз... :( Никакие бэкапы пе помогают. Как показывает практика не существует надежного простого средства резервного копирования МД. Только слив образа...

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

Добавлено: Вс сен 20, 2020 8:20 pm
Logrus
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 раз... :( Никакие бэкапы пе помогают. Как показывает практика не существует надежного простого средства резервного копирования МД. Только слив образа...
подозреваю если б не путали ветки форума, то вероятней всего нашли б и ответ на ваш не заданный вопрос