Страница 11 из 15

Re: Активные объекты на сценах

Добавлено: Пн сен 22, 2014 11:38 pm
Bagir
Vit писал(а):у меня не отобразился элемент на темной сцене
Для темной сцены пока что можно просто задать CSS с цветом шрифта. А оформление элемента обычно пропадает если неправильно указать его div.element_ в самом начале кода.

Re: Активные объекты на сценах

Добавлено: Пн сен 22, 2014 11:40 pm
Bagir
Интересно, есть ли штатная функция для определения темы? или просто дернуть из SQL?

Re: Активные объекты на сценах

Добавлено: Пн сен 22, 2014 11:52 pm
Vit
в коде 2 раза <style> указан...из за этого было

Re: Активные объекты на сценах

Добавлено: Пн сен 22, 2014 11:56 pm
Bagir
Vit писал(а):2 раза
Точно! Скопировал из MDM последний вариант оформления, а код спрятался тут так:

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

[code=php]<style>
<style>
div.element_33 { 
вот и не увидел.

Re: Активные объекты на сценах

Добавлено: Вт сен 23, 2014 12:24 am
Bagir
Код для расчета свойства direction, которое отвечает за направление изменения значения.
http://smartliving.ru/forum/viewtopic.p ... 737#p13737

Re: Активные объекты на сценах

Добавлено: Вт сен 23, 2014 1:02 am
Vit
Bagir писал(а):Код для расчета свойства direction, которое отвечает за направление изменения значения.
http://smartliving.ru/forum/viewtopic.p ... 737#p13737
второй вариант без запроса к базе с передачей параметра температуру методу

callMethod('NooTemp0.tempChanged',array('t'=>$t));

Re: Активные объекты на сценах

Добавлено: Вт сен 23, 2014 11:20 am
Bagir
Запрос к базе в первом варианте я делал чтобы получить одно только предыдущее показание датчика. Это был вариант для слинкованных датчиков. Когда температура пишется прямо в свойства датчика и негде взять предыдущую. Но если мы передаем температуру по средствам callMethod в параметре 't', то конечно же всегда можно сравнить значение параметра и свойства. Или такой вариант. данные пишутся в слинкованный объект, а он уже передает данные термодатчику класса tempSensors. Впрочем это опять и получается предыдущий вариант с callMethod. В этих случаях нем смысла лезть к БД. Но, повторюсь, если объект термодатчика класса tempSensors слинкован с железом, то другого способа вычислить direction кроме как спросить у БД предыдущее показания я не знаю.
Но суть кода по ссылке выше даже не в этом. Там берутся временные интервалы изменения температуры, и уже сравниваются их средние значения. Это позволяет не устанавливать direction если изменения не столь значительны. Ведь температура постоянно плавает в каких то пределах. Но если наблюдается явное увеличение или понижение температуры, только тогда будет установлено direction и показан треугольник у элемента на сцене.
Изображение
Видно, что за последнее время температура изменялась не во всех комнатах. Надо только подумать над величиной временных интервалов. Возможно стоит завязать на переменную период обновления датчика, чтобы код получился более универсальный.

Re: Активные объекты на сценах

Добавлено: Вт сен 23, 2014 3:31 pm
sergejey
немного переделал реакцию на клик по элементу

Изображение

Т.е. надо сначало выбрать, что будет происходить по клику, плюс добавилась возможность открыть одну из домашних страниц либо просто заданную ссылку.

Re: Активные объекты на сценах

Добавлено: Вт сен 23, 2014 9:10 pm
Bagir
А можно теперь как было ранее сделать все сразу? Например
Выполнить сценарий при клике
и
Запускать Объект.Метод
и
Показать меню при клике
Я хоть и никогда не использовал такие комбинации, но почему бы и нет. Возможно, что какой то элемент потребует выполнить сразу несколько действий. Запустить общий сценарий, запустить метод чтобы чего то там отдельно натворить, и еще что показать - меню или домашнюю страницу.

Или будет доступно только одно действие, например сценарий или метод?

Re: Активные объекты на сценах

Добавлено: Ср сен 24, 2014 10:01 am
sergejey
Bagir писал(а):А можно теперь как было ранее сделать все сразу? Например
Выполнить сценарий при клике
и
Запускать Объект.Метод
и
Показать меню при клике
Я хоть и никогда не использовал такие комбинации, но почему бы и нет. Возможно, что какой то элемент потребует выполнить сразу несколько действий. Запустить общий сценарий, запустить метод чтобы чего то там отдельно натворить, и еще что показать - меню или домашнюю страницу.

Или будет доступно только одно действие, например сценарий или метод?
Я думал над таким вариантом использования, но весы склонились в сторону упрощения интерфейса в виду редкой востребованности таких комбинаций. В общем, пусть пока будет "по-простому", а если уж сильно будет не хватать, то перекрутим интерфейс.