Шаблон класса / Class Template
Модератор: immortal
- nick7zmail
- Сообщения: 7573
- Зарегистрирован: Пн окт 28, 2013 8:14 am
- Откуда: Екатеринбург
- Благодарил (а): 121 раз
- Поблагодарили: 2010 раз
Re: Шаблон класса / Class Template
plug - при зарядке, остальные от 0 до 100
fa-battery-empty
fa-battery-quarter
fa-battery-half
fa-battery-three-quarters
fa-battery-full
Ещё, думаю цветом подкрасить - больше 50/60 зеленая, меньше - желтая, и меньше 25 - красная. Думаю должно норм зайти))
fa-battery-empty
fa-battery-quarter
fa-battery-half
fa-battery-three-quarters
fa-battery-full
Ещё, думаю цветом подкрасить - больше 50/60 зеленая, меньше - желтая, и меньше 25 - красная. Думаю должно норм зайти))
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
-
- Сообщения: 2096
- Зарегистрирован: Пт апр 07, 2017 12:20 pm
- Благодарил (а): 314 раз
- Поблагодарили: 460 раз
Re: Шаблон класса / Class Template
буду ждать, сам не соображу, мне б вай-фай вместо единицы в зеленый, дом - хз, через геокодирование может портянку выдать (с версткой проблемы вылезти могут, можно ли это заранее устранить/предусмотреть?), почту б в красный - если больше нуля дальше думки про календарь и таски вывести 0_0nick7zmail писал(а):Ещё, думаю цветом подкрасить - больше 50/60 зеленая, меньше - желтая, и меньше 25 - красная. Думаю должно норм зайти))
п.с. класс Rooms напрашивается на такое же
- Рейтинг: 1.16%
Telegram | Блог
Raspberry Pi3, с образа от Сергея 3.31, PHP 7, флешка 16 Гб работает с 10.09.2017
Почти всё время уходит на исправление ошибок, оставшееся - на их повторение. (с) ))) Спасибо
Raspberry Pi3, с образа от Сергея 3.31, PHP 7, флешка 16 Гб работает с 10.09.2017
Почти всё время уходит на исправление ошибок, оставшееся - на их повторение. (с) ))) Спасибо
- nick7zmail
- Сообщения: 7573
- Зарегистрирован: Пн окт 28, 2013 8:14 am
- Откуда: Екатеринбург
- Благодарил (а): 121 раз
- Поблагодарили: 2010 раз
Re: Шаблон класса / Class Template
Да, про геокодирование были мысли, что длинная строка - искал варианты адаптивных абзацов, чтобы подстраивался текст...нифига интересного не нашел...
Вайфай подкрасить - в свойство закидываете green/red в зависимости от статуса (если модулем online hosts - пропиши выставление свойства в действиях при выходе в онлайн/оффлайн). А в тексте виджета (точнее в теге с иконкой вайфая) style="color:%Объект.свойство%"...вроде так))
По поводу класса Rooms
Изначальный виджет для пользователя строился "вокруг" картинки пользователя...это была его фишка)) Для Rooms эта стратегия не подходит...
Могу предложить вариант - найдите картинки в инете или нарисуйте, каким хотите видеть виджет комнаты...если мне понравится концепция - я сделаю его =).
Вайфай подкрасить - в свойство закидываете green/red в зависимости от статуса (если модулем online hosts - пропиши выставление свойства в действиях при выходе в онлайн/оффлайн). А в тексте виджета (точнее в теге с иконкой вайфая) style="color:%Объект.свойство%"...вроде так))
По поводу класса Rooms
Изначальный виджет для пользователя строился "вокруг" картинки пользователя...это была его фишка)) Для Rooms эта стратегия не подходит...
Могу предложить вариант - найдите картинки в инете или нарисуйте, каким хотите видеть виджет комнаты...если мне понравится концепция - я сделаю его =).
- За это сообщение автора nick7zmail поблагодарил:
- vitosmaxim (Чт фев 22, 2018 11:21 am)
- Рейтинг: 1.16%
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
- nick7zmail
- Сообщения: 7573
- Зарегистрирован: Пн окт 28, 2013 8:14 am
- Откуда: Екатеринбург
- Благодарил (а): 121 раз
- Поблагодарили: 2010 раз
Re: Шаблон класса / Class Template
Лично я вижу это примерно так:
но блин...это тупо текст...это не интересно...хочется чего нить оригинального чтоль...
(нарисовано в паинте моими кривыми ручками)) но блин...это тупо текст...это не интересно...хочется чего нить оригинального чтоль...
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
-
- Сообщения: 364
- Зарегистрирован: Вс янв 15, 2017 5:34 pm
- Откуда: Москва
- Благодарил (а): 100 раз
- Поблагодарили: 53 раза
Re: Шаблон класса / Class Template
Почему картинки пропадают, через несколько секунд?
- Вложения
-
- Снимок1.PNG (10.55 КБ) 8396 просмотров
-
- Снимок.PNG (3.24 КБ) 8396 просмотров
Raspberry Pi3 - Broadlink - MegaD - Много датчиков - Камеры - Часы.
Connect
Connect
-
- Сообщения: 364
- Зарегистрирован: Вс янв 15, 2017 5:34 pm
- Откуда: Москва
- Благодарил (а): 100 раз
- Поблагодарили: 53 раза
Re: Шаблон класса / Class Template
С батареей тоже не могу понять что, 40% а значок три четверти.
Код: Выделить всё
$name = $this->getProperty('SayName');
$Batt = gg($name.'.BattLevel');
if ($Batt == 100) {
$this->setProperty("BattPic", 'battery-full');
} elseif ($Bat < 75) {
$this->setProperty("BattPic", 'battery-three-quarters');
} elseif ($Bat < 50) {
$this->setProperty("BattPic", 'battery-half');
} elseif ($Bat < 25) {
$this->setProperty("BattPic", 'battery-quarter');
} elseif ($Bat == 0) {
$this->setProperty("BattPic", 'battery-empty');
}
- Вложения
-
- 33.PNG (10.05 КБ) 8377 просмотров
Raspberry Pi3 - Broadlink - MegaD - Много датчиков - Камеры - Часы.
Connect
Connect
- xor
- Сообщения: 2045
- Зарегистрирован: Сб ноя 22, 2014 8:45 pm
- Благодарил (а): 289 раз
- Поблагодарили: 632 раза
Re: Шаблон класса / Class Template
У вас то $Batt, то $Bat, поправьте
win10 connect https://connect.smartliving.ru/profile/303
-
- Сообщения: 364
- Зарегистрирован: Вс янв 15, 2017 5:34 pm
- Откуда: Москва
- Благодарил (а): 100 раз
- Поблагодарили: 53 раза
Re: Шаблон класса / Class Template
Спасибо, поправил! Проблема осталась.xor писал(а):У вас то $Batt, то $Bat, поправьте
Код: Выделить всё
$name = $this->getProperty('SayName');
$Batt = gg($name.'.BattLevel');
if ($Batt >= 0) {
$this->setProperty("BattPic", 'battery-empty');
} elseif ($Batt >= 25) {
$this->setProperty("BattPic", 'battery-quarter');
} elseif ($Batt >= 50) {
$this->setProperty("BattPic", 'battery-half');
} elseif ($Batt >= 75) {
$this->setProperty("BattPic", 'battery-three-quarters');
} elseif ($Batt == 100) {
$this->setProperty("BattPic", 'battery-full');
}
- Вложения
-
- 111.PNG (6.49 КБ) 8361 просмотр
Raspberry Pi3 - Broadlink - MegaD - Много датчиков - Камеры - Часы.
Connect
Connect
-
- Сообщения: 364
- Зарегистрирован: Вс янв 15, 2017 5:34 pm
- Откуда: Москва
- Благодарил (а): 100 раз
- Поблагодарили: 53 раза
Re: Шаблон класса / Class Template
Спасибо! Во так правильно
Код: Выделить всё
$name = $this->getProperty('SayName');
$Batt = gg($name.'.BattLevel');
if ($Batt == 100) {
$this->setProperty("BattPic", 'battery-full');
} elseif ($Batt >= 75) {
$this->setProperty("BattPic", 'battery-three-quarters');
} elseif ($Batt >= 50) {
$this->setProperty("BattPic", 'battery-half');
} elseif ($Batt >= 25) {
$this->setProperty("BattPic", 'battery-quarter');
} elseif ($Batt >= 0) {
$this->setProperty("BattPic", 'battery-empty');
}
Raspberry Pi3 - Broadlink - MegaD - Много датчиков - Камеры - Часы.
Connect
Connect
-
- Сообщения: 2096
- Зарегистрирован: Пт апр 07, 2017 12:20 pm
- Благодарил (а): 314 раз
- Поблагодарили: 460 раз
Re: Шаблон класса / Class Template
т.к. коннект не работает, добавлю, имхо тёзке полезно будет (не хвальба, наверное и ошибки присутствуют, может что и улучшить/изменить есть, с цветом еще не разбирался)
вообще, Никита, зело полезное дело сделал, я вот на это без описания и реального примера смотрел и ... ничего
конечно, главную красивость, "фишку" убрал (я аву ту не нашел, с шапки подключал, а текста много, обтекает не красиво), но как выше было сказано - это подключается и в сцены, и в дашборд, и в меню - за три клика!!!
вообще, Никита, зело полезное дело сделал, я вот на это без описания и реального примера смотрел и ... ничего
конечно, главную красивость, "фишку" убрал (я аву ту не нашел, с шапки подключал, а текста много, обтекает не красиво), но как выше было сказано - это подключается и в сцены, и в дашборд, и в меню - за три клика!!!
СпойлерПоказать
шаблон отображения
метод ChangeBattLevel в классе Users (тут с вилкой при зарядке) (связанное свойство BattLevel)
метод SetLocation в классе Users (связанное свойство Coordinates)
метод setUpdatedText в классе Users (связанное свойство CoordinatesUpdated)
может что и пропустил
Код: Выделить всё
<style>
@import url("https://maxcdn.bootstrapcdn.com/font-awesome/4.4.0/css/font-awesome.min.css");
.container {
background-color: rgba(0, 0, 0, 0.3);
width: 240px;
height: 110px;
border-radius: 15px;
border:1px solid #444;
}
.batt {
font-size: 85%;
padding-right: 10px;
padding-top: 10px;
float: right;
}
.mail {
font-size: 85%;
padding-right: 10px;
padding-top: 10px;
float: right;
}
.info {
padding-left: 10px;
padding-right: 10px;
padding-top: 10px;
height: 100px;
}
.name {
font-size: 85%;
font-family: fantasy;
}
.wifi {
font-size: 75%;
padding-top: 5px;
padding-bottom: 5px;
}
.loc {
font-size: 75%;
padding-top: 5px;
padding-bottom: 5px;
}
.time {
font-size: 60%;
color:grey;
}
</style>
<div class="container">
<div class="batt">
%.BattLevel% % <span class="batt_icon %.BattPic%" aria-hidden="true"></span>
</div>
<div class="mail">
%.GMailUnread% <span class="mail_icon fa fa-envelope" aria-hidden="true"></span>
</div>
<div class="info">
<div class="name">%.fullName%</div>
<div class="wifi"><span class="wifi_icon fa fa-wifi" aria-hidden="true"></span> %.isHome%</div>
<div class="time"><span class="ref_icon fa fa-refresh" aria-hidden="true"></span> %.isHomeUpdate%</div>
<div class="loc"><span class="loc_icon fa fa-map-marker" aria-hidden="true"></span> %.Location%</div>
<div class="time"><span class="ref_icon fa fa-refresh" aria-hidden="true"></span> %.updatedText%</div>
</div>
</div>
Код: Выделить всё
$charg=$this->getProperty('Charging');
$level=$this->getProperty('BattLevel');
$this->setProperty('battPic','fa fa-battery-empty'); //здесь продумать нужно
if ($charg==1) {
$this->setProperty("battPic",'fa fa-plug');
} else {
if ($level > 88 && $level <= 100) {
$this->setProperty("battPic",'fa fa-battery-full');
} else if ($level > 62 && $level <= 88) {
$this->setProperty("battPic",'fa fa-battery-three-quarters');
} else if ($level > 37 && $level <= 62) {
$this->setProperty("battPic",'fa fa-battery-half');
} else if ($level > 12 && $level <= 37) {
$this->setProperty("battPic",'fa fa-battery-quarter');
} else if ($level < 12) {
$this->setProperty("battPic",'fa fa-battery-empty');
}
}
Код: Выделить всё
$Coordinates=$this->getProperty("Coordinates");
$lat=substr($Coordinates,0,strpos($Coordinates,","));
$lon=substr($Coordinates,strpos($Coordinates,",")+1);
$this->setProperty('latitude',$lat);
$this->setProperty('longitude',$lon);
if($this->getProperty('HomeDistance')>100){
$data_file="http://geocode-maps.yandex.ru/1.x/?geocode=E".$lon.",N".$lat; // адрес xml файла
$xml = simplexml_load_file($data_file); // раскладываем xml на массив
$res=$xml->{'GeoObjectCollection'}->{'featureMember'}[0]->{'GeoObject'}->{'metaDataProperty'}->{'GeocoderMetaData'}->{'AddressDetails'}->{'Country'}->{'AddressLine'};
$this->setProperty("Location",$res);
}else{
$this->setProperty("Location",'Дом');
$this->callMethod('gotHome');
}
Код: Выделить всё
@include_once(ROOT . 'languages/devices_' . SETTINGS_SITE_LANGUAGE . '.php');
@include_once(ROOT . 'languages/devices_default' . '.php');
$ot = $this->object_title;
$updatedTime = $this->getProperty('CoordinatesUpdatedTimestamp');
$passed = time() - $updatedTime;
$newTimeout=0;
if ($passed<10) {
$newTimeout = 10;
$this->setProperty('updatedText',LANG_DEVICES_PASSED_NOW);
} elseif ($passed<60) {
$newTimeout = 10;
$this->setProperty('updatedText',$passed.' '.LANG_DEVICES_PASSED_SECONDS_AGO);
} elseif ($passed<60*60) {
$newTimeout = 60;
$this->setProperty('updatedText',round($passed/60).' '.LANG_DEVICES_PASSED_MINUTES_AGO);
/*
} elseif ($passed<12*60*60) {
$newTimeout = 60 * 60;
$this->setProperty('updatedText',round($passed/60/60).' '.LANG_DEVICES_PASSED_HOURS_AGO);
*/
} elseif ($passed<20*60*60) {
//just time
$newTimeout = 60 * 60;
$this->setProperty('updatedText',date('H:i',$updatedTime));
} else {
//time and date
$this->setProperty('updatedText',date('Y-m-d H:i',$updatedTime));//
}
if ($newTimeout > 0) {
setTimeOut($ot.'_updateTime','callMethod("'.$ot.'.setUpdatedText");',$newTimeout);
}
- Рейтинг: 2.33%
Telegram | Блог
Raspberry Pi3, с образа от Сергея 3.31, PHP 7, флешка 16 Гб работает с 10.09.2017
Почти всё время уходит на исправление ошибок, оставшееся - на их повторение. (с) ))) Спасибо
Raspberry Pi3, с образа от Сергея 3.31, PHP 7, флешка 16 Гб работает с 10.09.2017
Почти всё время уходит на исправление ошибок, оставшееся - на их повторение. (с) ))) Спасибо