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

Нужна помощь в понимании процесса

Добавлено: Вс янв 03, 2016 6:32 pm
Ruslan
Здравствуйте форумчане.
Помогите разобратся, не могу понять как это работает.
Есть устройство передающее значение температуры по TCP/IP
P/objects/?object=Livingroom&op=m&m=updateActivityStatus&t=2250
В методе [Rooms-> updateActivityStatus]
пишу код

Код: Выделить всё

$temp = parameter ['t'];
 $tc = $temp / 100;
setGlobal('Livingroom.Temperature',$tc);
передаваемая температура обновляется, но:
следующие свойства обекта не обновляются
Livingroom.LatestActivity
Livingroom.LatestActivityTime

хотя в родительском методе код есть. Код не мой, уже был после установки и как я думаю должне работать.
Пробовал также через скрипт. Создал скрипт в котором присваивал принятые значения пременным. Но это не влияло на упомянутые переменные.

Помогите прежде всего в понимании самой логики. Как работает, если можно небольшой пример, как правильно все построить.

Как я понимаю этот инструмент полезен для индикации исправности оборудования в первую очередь.
Не хочется изобретать колесо.
Заранее благодарен.

Re: Нужна помощь в понимании процесса

Добавлено: Вс янв 03, 2016 6:43 pm
Anton_kulibin
Посмотрите в родительском свойстве указан ли метод при изменении свойства. Т.е. в свойстве Temperature, должно быть указано tempChanged или др метод

Re: Нужна помощь в понимании процесса

Добавлено: Пн янв 04, 2016 2:29 pm
Ruslan
Ага, работает.
Если я правильно понимаю, для каждой пременной (родительской) я могу указать свой метод, который будет выполнятся каждый раз при записи этой переменной?

Может есть где то описание всего этого добра? Что для чего нужно? какие варианты использования?
Ведь автор проэкта создавал все это не просто так.
Например:
Есть объект "термометры" туда и будем собирать данные всех термометров в доме. Логично.
Но в этом объекте нет переменной влажности. Хотя зачастую в самом термометре также встроен и датчик влажности.
Для влажности есть отдельный объект.
Почему так? Сомневаюсь что это получилось случайно.

Логичнее создавать объекты целиком как отдельный прибор. Так проще настраивать, искать неисправности (особенно для тех кто мало знаком с электроникой) и.т.д.
Это наводит на мысль что сделанно именно так не спроста. Есть в этом смысл который я не понимаю.

Или вот еще:
Есть темпратура в объекте "термометры" и есть температура в объекте "Room" отдельно для каждой комнаты.
Ведь тоже не спроста.

Помогите разобратся.

Re: Нужна помощь в понимании процесса

Добавлено: Пн янв 04, 2016 8:27 pm
Anton_kulibin
Ну Ruslan, тут говориться как душе угодно, я тоже по началу так думал что заводить устройствами (температура, влажность), но есть ООП (объектно-ориентированное программирование), как поймете его суть сразу все встанет на полки. Могу немного пояснить.
Например есть класс температурных сенсоров. в классе описаны свойства (температура, направление изменения, время жизни и т.д.), методы. Так вот захотели вы добавить новое свойство для 20 датчиков, вам надо его будет прописывать для каждого датчика, в тут добавил новое свойство в класс и решил сразу всю проблему. Про методы еще интересней, методы описанные в классе могут быть расширены методом определенного объекта.
Например следит у Вас Алиса за котлом отопления - вызывает родительский метод при изменении температуры (в котором считается время обновления, жизни, направления изменения), в методе датчика (не в родительском) вы можете прописать alarm по температуре (или что душе угодно).
Классы, свойства и методы можете сами создавать, но я бы рекомендовал следовать концепции ООП, как ее поймете так все встанет на свои места.
Как смог так объяснил)))

Re: Нужна помощь в понимании процесса

Добавлено: Пн янв 04, 2016 9:45 pm
ErmolenkoM
Ruslan писал(а):Помогите разобраться.
1. Изучать КОННЕКТ. Многие вопросы отпадут.
2. Кодит здесь кто во что горазд, так что многие "почему" надо задавать конкретным людям. Например, у меня много старого, не используемого кода с прошлых поколений.
3. Сергей в дистрибутиве мог некоторые вещи показать для демонстрации возможностей, несколько вариантов одного и того же.
4. Как группировать: по устройствам или по размещению, или еще как - это как удобнее. На самом деле, пока объектов мало - 2, 3 каждого типа разницы нет.