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

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

Модератор: immortal

Ответить
Ruslan
Сообщения: 37
Зарегистрирован: Чт апр 09, 2015 7:11 pm
Благодарил (а): 7 раз
Поблагодарили: 1 раз

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

Сообщение Ruslan » Вс янв 03, 2016 6:32 pm

Здравствуйте форумчане.
Помогите разобратся, не могу понять как это работает.
Есть устройство передающее значение температуры по 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

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

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

Как я понимаю этот инструмент полезен для индикации исправности оборудования в первую очередь.
Не хочется изобретать колесо.
Заранее благодарен.
RaspBerry Pi 2 | MajorDoMo lastUpdate:27/04/2017
Anton_kulibin
Сообщения: 354
Зарегистрирован: Вт окт 09, 2012 8:05 am
Откуда: Луза Кировская обл. Россия
Благодарил (а): 20 раз
Поблагодарили: 35 раз

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

Сообщение Anton_kulibin » Вс янв 03, 2016 6:43 pm

Посмотрите в родительском свойстве указан ли метод при изменении свойства. Т.е. в свойстве Temperature, должно быть указано tempChanged или др метод
Вложения
scrin.png
scrin.png (32.35 КБ) 4371 просмотр
За это сообщение автора Anton_kulibin поблагодарили (всего 2):
Ruslan (Пн янв 04, 2016 2:05 pm) • kawkay (Пн янв 04, 2016 10:35 pm)
Рейтинг: 2.33%
Linux версия. Ubuntu Server 16.04+2xArduinoMega+Eth_GW_Mysensors_10node+WeatherStation+Xiaomi
CONNECT
Ruslan
Сообщения: 37
Зарегистрирован: Чт апр 09, 2015 7:11 pm
Благодарил (а): 7 раз
Поблагодарили: 1 раз

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

Сообщение Ruslan » Пн янв 04, 2016 2:29 pm

Ага, работает.
Если я правильно понимаю, для каждой пременной (родительской) я могу указать свой метод, который будет выполнятся каждый раз при записи этой переменной?

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

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

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

Помогите разобратся.
RaspBerry Pi 2 | MajorDoMo lastUpdate:27/04/2017
Anton_kulibin
Сообщения: 354
Зарегистрирован: Вт окт 09, 2012 8:05 am
Откуда: Луза Кировская обл. Россия
Благодарил (а): 20 раз
Поблагодарили: 35 раз

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

Сообщение Anton_kulibin » Пн янв 04, 2016 8:27 pm

Ну Ruslan, тут говориться как душе угодно, я тоже по началу так думал что заводить устройствами (температура, влажность), но есть ООП (объектно-ориентированное программирование), как поймете его суть сразу все встанет на полки. Могу немного пояснить.
Например есть класс температурных сенсоров. в классе описаны свойства (температура, направление изменения, время жизни и т.д.), методы. Так вот захотели вы добавить новое свойство для 20 датчиков, вам надо его будет прописывать для каждого датчика, в тут добавил новое свойство в класс и решил сразу всю проблему. Про методы еще интересней, методы описанные в классе могут быть расширены методом определенного объекта.
Например следит у Вас Алиса за котлом отопления - вызывает родительский метод при изменении температуры (в котором считается время обновления, жизни, направления изменения), в методе датчика (не в родительском) вы можете прописать alarm по температуре (или что душе угодно).
Классы, свойства и методы можете сами создавать, но я бы рекомендовал следовать концепции ООП, как ее поймете так все встанет на свои места.
Как смог так объяснил)))
За это сообщение автора Anton_kulibin поблагодарил:
Ruslan (Вт янв 05, 2016 10:23 am)
Рейтинг: 1.16%
Linux версия. Ubuntu Server 16.04+2xArduinoMega+Eth_GW_Mysensors_10node+WeatherStation+Xiaomi
CONNECT
ErmolenkoM
Сообщения: 560
Зарегистрирован: Ср сен 04, 2013 10:31 am
Откуда: Самара
Благодарил (а): 99 раз
Поблагодарили: 140 раз
Контактная информация:

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

Сообщение ErmolenkoM » Пн янв 04, 2016 9:45 pm

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