стили для элементов сцен

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

Модератор: immortal

Vit
Сообщения: 867
Зарегистрирован: Вт янв 17, 2012 12:31 pm
Благодарил (а): 121 раз
Поблагодарили: 78 раз

Re: стили для элементов сцен

Сообщение Vit » Пн фев 09, 2015 12:30 am

попробовал реализовать часть как на скрине..
СпойлерПоказать
Изображение
может кто подскажет как посчитать активность какого то режима, чтобы в индикатор запихнуть...

сам индикатор работает показывает пока загрузку процессора...

не могу додумать как высчитать время активности режима...
Аватара пользователя
Bagir
Сообщения: 1615
Зарегистрирован: Вт сен 17, 2013 6:46 pm
Откуда: Ярославская область город Углич
Благодарил (а): 212 раз
Поблагодарили: 375 раз

Re: стили для элементов сцен

Сообщение Bagir » Пн фев 09, 2015 5:27 pm

Vit писал(а):не могу додумать как высчитать время активности режима...
Вероятно придется писать историю, и затем высчитывать в соответствии с пройденным временем суток. То есть считать сколько часов режим был включен, сколько выключен, а затем брать количество пройденных часов с начала суток за 100%
Пока что вижу только вариант с запросом к базе и получения массива из 0 и 1 за время с начала суток. У меня был очень подходящий пример с запросом температуры для получения средней.
Windows 10, HTTP, MegaD, Z-Wave, 1-Wire, CONNECT
Vit
Сообщения: 867
Зарегистрирован: Вт янв 17, 2012 12:31 pm
Благодарил (а): 121 раз
Поблагодарили: 78 раз

Re: стили для элементов сцен

Сообщение Vit » Пн фев 09, 2015 9:53 pm

Bagir писал(а):
Vit писал(а):не могу додумать как высчитать время активности режима...
Вероятно придется писать историю, и затем высчитывать в соответствии с пройденным временем суток. То есть считать сколько часов режим был включен, сколько выключен, а затем брать количество пройденных часов с начала суток за 100%
Пока что вижу только вариант с запросом к базе и получения массива из 0 и 1 за время с начала суток. У меня был очень подходящий пример с запросом температуры для получения средней.
Bagir, так вот и не знаю нифига как запрос к базе намудрить))
Аватара пользователя
Bagir
Сообщения: 1615
Зарегистрирован: Вт сен 17, 2013 6:46 pm
Откуда: Ярославская область город Углич
Благодарил (а): 212 раз
Поблагодарили: 375 раз

Re: стили для элементов сцен

Сообщение Bagir » Пн фев 09, 2015 10:16 pm

У меня в коннекте есть почти готовый кусок Class: TempSensors метод statusChanged
Надо вытащить из базы массив а потом в цикле перебрать его. Не сморю, сразу въехать в скуль вот с таких запросов сложновато. Я по долгу службы хоть немножечко его знаю. Сейчас наколдуем этот запрос.
Windows 10, HTTP, MegaD, Z-Wave, 1-Wire, CONNECT
Vit
Сообщения: 867
Зарегистрирован: Вт янв 17, 2012 12:31 pm
Благодарил (а): 121 раз
Поблагодарили: 78 раз

Re: стили для элементов сцен

Сообщение Vit » Пн фев 09, 2015 10:20 pm

Bagir писал(а):У меня в коннекте есть почти готовый кусок Class: TempSensors метод statusChanged
Надо вытащить из базы массив а потом в цикле перебрать его. Не сморю, сразу въехать в скуль вот с таких запросов сложновато. Я по долгу службы хоть немножечко его знаю. Сейчас наколдуем этот запрос.
закрыт, не смог посмотреть, у меня тоже есть по statusChanged пример...мы же с тобой колдовали....а вот тут новое и все затык с запросом)), ну уж извини дружище, не сильно с чем то и дружу)
Аватара пользователя
Bagir
Сообщения: 1615
Зарегистрирован: Вт сен 17, 2013 6:46 pm
Откуда: Ярославская область город Углич
Благодарил (а): 212 раз
Поблагодарили: 375 раз

Re: стили для элементов сцен

Сообщение Bagir » Пн фев 09, 2015 10:23 pm

Как закрыт? Коннект закрыт? У меня свой открывает. http://connect.smartliving.ru/profile/220
Постараюсь написать с комментариями. Подобный пример пригодится многим.
Windows 10, HTTP, MegaD, Z-Wave, 1-Wire, CONNECT
Vit
Сообщения: 867
Зарегистрирован: Вт янв 17, 2012 12:31 pm
Благодарил (а): 121 раз
Поблагодарили: 78 раз

Re: стили для элементов сцен

Сообщение Vit » Пн фев 09, 2015 10:38 pm

Bagir писал(а):Как закрыт? Коннект закрыт? У меня свой открывает. http://connect.smartliving.ru/profile/220
Постараюсь написать с комментариями. Подобный пример пригодится многим.
это закрыто
СпойлерПоказать
Изображение
Аватара пользователя
Bagir
Сообщения: 1615
Зарегистрирован: Вт сен 17, 2013 6:46 pm
Откуда: Ярославская область город Углич
Благодарил (а): 212 раз
Поблагодарили: 375 раз

Re: стили для элементов сцен

Сообщение Bagir » Пн фев 09, 2015 10:48 pm

Похоже это косяк. Напишу Серёже. Через полчасика выложу пример со скуль запросом.
Windows 10, HTTP, MegaD, Z-Wave, 1-Wire, CONNECT
Vit
Сообщения: 867
Зарегистрирован: Вт янв 17, 2012 12:31 pm
Благодарил (а): 121 раз
Поблагодарили: 78 раз

Re: стили для элементов сцен

Сообщение Vit » Пн фев 09, 2015 11:05 pm

ок
Аватара пользователя
Bagir
Сообщения: 1615
Зарегистрирован: Вт сен 17, 2013 6:46 pm
Откуда: Ярославская область город Углич
Благодарил (а): 212 раз
Поблагодарили: 375 раз

Re: стили для элементов сцен

Сообщение Bagir » Пн фев 09, 2015 11:30 pm

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

/* Данные истории находятся в таблице phistory. Чтобы их от туда взять, нужно знать VALUE_ID нашего Объект.Свойства
   Получить его можно разными путями в зависимости от ситуации. Приведу общий способ, который будет работать в любом месте. 
   Например из сценария, где нет такого указателя как $this. Еще этот код немного расскажет про связь между таблицами в базе данных.
*/

// Мы знаем имя объекта и имя свойства.
// Для начала нам нужно получить их id нашего объекта и id класса которому принадлежит объект
$obj_title = 'ts_kitchen'; //имя объекта
$arr_s = SQLSelectOne("SELECT * FROM objects WHERE TITLE='".$obj_title."'");
$obj_id = $arr_s['ID'];
$class_id = $arr_s['CLASS_ID'];

// Получим id свойства по его имени. Тут нам нужно знать еще и id класса, который только что получили.
$prop_title = 'status';  //имя свойства
$arr_s = SQLSelectOne("SELECT * FROM properties WHERE TITLE='".$prop_title."' AND CLASS_ID='".$class_id."'");
$prop_id = $arr_s['ID'];

// Теперь нам нужен id из таблицы pvalues.
$arr_s = SQLSelectOne("SELECT * FROM pvalues WHERE OBJECT_ID='".$obj_id."' AND PROPERTY_ID='".$prop_id."'");
$pvalue = $arr_s['ID'];

// Можно использовать альтернативный вариант, который будет работать намного быстрее.
// Получить id из таблицы pvalues сразу по имени Объект.Свойство
// Способ довольно простой и короткий, но пока что рекомендую его не использовать.
/*
$prop_name = 'ts_kitchen.status'; //Объект.Свойство
$arr_s = SQLSelectOne("SELECT * FROM pvalues WHERE PROPERTY_NAME='".$prop_name."'");
$pvalue = $arr_s['ID'];
*/

// Зная $pvalue можно слазать за данными истории в таблицу phistory
$start_time='2015-02-09 00:00:00';
// $arr_s = SQLSelectOne("SELECT VALUE FROM phistory WHERE VALUE_ID='".$pvalue."' AND ADDED>='".date('Y-m-d H:i:s', $start_time)."'");
$arr_s = SQLSelect("SELECT * FROM phistory WHERE VALUE_ID=".$pvalue);


echo 'obj='.$obj_id.' class='.$class_id.' prop='.$prop_id.' pvalue='.$pvalue.'<br />';

// Переберем весь массив
foreach($arr_s as $s) {
echo $s['VALUE'].'<br />';
}

echo 'end';
Vit с тебя продолжение! :D
Windows 10, HTTP, MegaD, Z-Wave, 1-Wire, CONNECT
Ответить