Шаблон класса / Class Template

Новые релизы, обновления и т.п.

Модератор: immortal

Аватара пользователя
xor
Сообщения: 2038
Зарегистрирован: Сб ноя 22, 2014 8:45 pm
Благодарил (а): 284 раза
Поблагодарили: 629 раз

Re: Шаблон класса / Class Template

Сообщение xor » Чт июн 28, 2018 12:20 pm

А мне вот это нравится
https://connect.smartliving.ru/profile/1594/blog87.html

Отправлено с моего Redmi 4X через Tapatalk

Аватара пользователя
igorewa
Сообщения: 515
Зарегистрирован: Ср дек 21, 2016 11:54 pm
Откуда: Киев
Благодарил (а): 12 раз
Поблагодарили: 43 раза

Re: Шаблон класса / Class Template

Сообщение igorewa » Сб июл 07, 2018 4:20 pm

Друзья помогите избавиться от этих предупреждений log:
Alena.ChangeBattLevel ->
Alena.ChangeBattLevel
16:10:31 0.41367300 Warning: cross-linked call of igor.ChangeBattLevel
СпойлерПоказать

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

16:11:22 0.66430800 Warning: cross-linked call of Alena.ChangeBattLevel
log:
Alena.ChangeBattLevel -> 
Alena.ChangeBattLevel
16:10:31 0.41367300 Warning: cross-linked call of igor.ChangeBattLevel
log:
igor.ChangeBattLevel -> 
igor.ChangeBattLevel
16:06:10 0.86614800 Warning: cross-linked call of Alena.ChangeBattLevel
log:
Alena.ChangeBattLevel -> 
Alena.ChangeBattLevel
16:01:01 0.15550300 Warning: cross-linked call of Alena.ChangeBattLevel
log:
Alena.ChangeBattLevel -> 
Alena.ChangeBattLevel
16:00:21 0.16574500 Warning: cross-linked call of igor.ChangeBattLevel
log:
igor.ChangeBattLevel -> 
igor.ChangeBattLevel
15:55:47 0.18515900 Warning: cross-linked call of Alena.ChangeBattLevel
log:
Alena.ChangeBattLevel -> 
Alena.ChangeBattLevel
15:50:37 0.34370000 Warning: cross-linked call of Alena.ChangeBattLevel
log:
Alena.ChangeBattLevel -> 
Alena.ChangeBattLevel
15:50:10 0.00077700 Warning: cross-linked call of igor.ChangeBattLevel
log:
igor.ChangeBattLevel -> 
igor.ChangeBattLevel
15:45:29 0.05668500 Warning: cross-linked call of Alena.ChangeBattLevel
log:
Alena.ChangeBattLevel -> 
Alena.ChangeBattLevel
15:40:19 0.85902300 Warning: cross-linked call of Alena.ChangeBattLevel
log:
Alena.ChangeBattLevel -> 
Alena.ChangeBattLevel
15:39:58 0.46562300 Warning: cross-linked call of igor.ChangeBattLevel
log:
igor.ChangeBattLevel -> 
igor.ChangeBattLevel
15:35:07 0.98403400 Warning: cross-linked call of Alena.ChangeBattLevel
log:
Alena.ChangeBattLevel -> 
Alena.ChangeBattLevel
Alena.ChangeBattLevel
ASUS H110T, I5 7500, DDR4-16Gb, SSD256 . WIN10 64 (LTSB)
Аватара пользователя
tarasfrompir
Сообщения: 3216
Зарегистрирован: Ср мар 02, 2016 8:18 pm
Откуда: Украина Пирятин
Благодарил (а): 223 раза
Поблагодарили: 815 раз

Re: Шаблон класса / Class Template

Сообщение tarasfrompir » Сб июл 07, 2018 5:52 pm

Так ведь метод завязан на себя смотри методы.… бат левела ...
Спасибо нам ПОМОЖЕТ..!
Аватара пользователя
vitosmaxim80sad145
Сообщения: 148
Зарегистрирован: Сб июл 07, 2018 12:48 am
Откуда: Днепр
Благодарил (а): 100 раз
Поблагодарили: 1 раз

Re: Шаблон класса / Class Template

Сообщение vitosmaxim80sad145 » Пн июл 16, 2018 5:28 pm

Vovix писал(а):
Пн дек 25, 2017 9:13 pm
на iPhone у меня теперь так:
Файл 25.12.2017, 22 08 49.jpeg
а как себе так сделать ?
Виталий
NightShock
Сообщения: 44
Зарегистрирован: Пт авг 24, 2018 6:09 pm
Благодарил (а): 7 раз
Поблагодарили: 23 раза

Re: Шаблон класса / Class Template

Сообщение NightShock » Пт авг 24, 2018 6:25 pm

Всем привет. Совсем недавно поставил себе MajorDoMo.
Сразу же решил написать классы под свои задачи.
Нужен был выключатель на 3 позиции (включить свет = 0, выключить свет = 1 и авто = 2 с использованием датчика движения).

Создал новый класс с единственным свойством "status" и единственным методом "Switch":

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

$val=$this->getProperty('status');
$val++;
if ($val>2)
$val=0;
$this->setProperty('status',$val);
В шаблоне класса прописал стиль и

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

<a href="#" class='button %.status|"dsgnmoo;xbox;grey;"%' onClick='callMethod("%.Switch");'>%.status|"выкл;вкл;авто;"%</a>
Использую в сцене как объект.
При клике вызывается метод "Switch".
Всё хорошо, но он не обновляется. Переключение происходит, но что бы в этом убедиться - нужно обновлять страницу.
Вопрос как сделать автоматическое обновление отображения объекта в сцене (как это происходит со стандартными выключателями)

А ещё хочется, что бы это работало и при изменение свойств. По MQTT переодически получаю актуальную информацию, её нужно выводить и обновлять, без обновления страницы.
sega6549
Сообщения: 530
Зарегистрирован: Чт авг 20, 2015 11:32 am
Откуда: Ярославль
Благодарил (а): 61 раз
Поблагодарили: 75 раз
Контактная информация:

Re: Шаблон класса / Class Template

Сообщение sega6549 » Чт авг 30, 2018 8:20 am

народ, давайте кнопочками делиться, вот моя кнопочка
СпойлерПоказать

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

<style>
.openclose-light.on,
.openclose-light.off {
  display: block;
  font-size: 1.0em;
  font-weight: bold;
  width: 60px;
  height: 25px;
  padding-top:8px;
  padding-left:10px;
  color: #ccc;
  border-radius: 7.5px;
  text-shadow: 0 -1px 0 #000;
  box-shadow: 0 1px 0 #666, 0 5px 0 #444, 0 6px 6px rgba(0,0,0,0.6);
  cursor: pointer;
  -webkit-transition: all 150ms ease;
  transition: all 150ms ease;
}
 /*цвет и анимация свечения кнопки вкл*/
.openclose-light.on {
 background-color: #126be0;
  background: -webkit-linear-gradient(#0d448c, #126be0);
  background: linear-gradient(#0d448c, #126be0);
  -webkit-animation: pulsate 1s linear infinite;
  animation: pulsate 1s linear infinite;
}
 /* цвет кнопки выкл*/
 .openclose-light.off {
  background-color: #555;
  background: -webkit-linear-gradient(#888, #555);
  background: linear-gradient(#888, #555);
}

 /* анимация при наведении на кнопку вкл и при наведении на текст кнопки вкл*/
.openclose-light.on:focus,
.openclose-light.off:focus
{
  -webkit-animation: pulsate 0.5s linear infinite;
  animation: pulsate 0.5s linear infinite;
}
 @-webkit-keyframes pulsate 
{
  0%   { color: #ddd; text-shadow: 0 -1px 0 #000; }
  50%  { color: #fff; text-shadow: 0 -1px 0 #444, 0 0 5px #ffd, 0 0 8px #fff; }
  100% { color: #ddd; text-shadow: 0 -1px 0 #000; }
}
     
@keyframes pulsate
{
  0%   { color: #ddd; text-shadow: 0 -1px 0 #000; }
  50%  { color: #fff; text-shadow: 0 -1px 0 #444, 0 0 5px #ffd, 0 0 8px #fff; }
  100% { color: #ddd; text-shadow: 0 -1px 0 #000; }
}
.openclose-light.off:active,
.openclose-light.on:active
{
  color: #fff;
  text-shadow: 0 -1px 0 #444, 0 0 5px #ffd, 0 0 8px #fff;
  box-shadow: 0 1px 0 #666, 0 2px 0 #444, 0 2px 2px rgba(0,0,0,0.9);
  -webkit-transform: translateY(4px);
  transform: translateY(4px);
  -webkit-animation: none;
  animation: none;
}
</style>
<div>свет зал</div>
<div class='openclose-light %.status|"on;off"%' onClick='callMethod("%.action");'>%.status|"вкл;выкл;"%</div>

Снимок.PNG
Снимок.PNG (11.86 КБ) 3667 просмотров
За это сообщение автора sega6549 поблагодарили (всего 2):
tarasfrompir (Чт авг 30, 2018 8:38 am) • Bagir (Пт сен 06, 2019 11:21 am)
Рейтинг: 2.33%
Тут можно задать вопрос по MajorDoMo VK
Канал по MajorDoMo youtube
Аватара пользователя
tarasfrompir
Сообщения: 3216
Зарегистрирован: Ср мар 02, 2016 8:18 pm
Откуда: Украина Пирятин
Благодарил (а): 223 раза
Поблагодарили: 815 раз

Re: Шаблон класса / Class Template

Сообщение tarasfrompir » Чт авг 30, 2018 8:38 am

sega6549 писал(а):
Чт авг 30, 2018 8:20 am
народ, давайте кнопочками делиться, вот моя кнопочка
СпойлерПоказать

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

<style>
.openclose-light.on,
.openclose-light.off {
  display: block;
  font-size: 1.0em;
  font-weight: bold;
  width: 60px;
  height: 25px;
  padding-top:8px;
  padding-left:10px;
  color: #ccc;
  border-radius: 7.5px;
  text-shadow: 0 -1px 0 #000;
  box-shadow: 0 1px 0 #666, 0 5px 0 #444, 0 6px 6px rgba(0,0,0,0.6);
  cursor: pointer;
  -webkit-transition: all 150ms ease;
  transition: all 150ms ease;
}
 /*цвет и анимация свечения кнопки вкл*/
.openclose-light.on {
 background-color: #126be0;
  background: -webkit-linear-gradient(#0d448c, #126be0);
  background: linear-gradient(#0d448c, #126be0);
  -webkit-animation: pulsate 1s linear infinite;
  animation: pulsate 1s linear infinite;
}
 /* цвет кнопки выкл*/
 .openclose-light.off {
  background-color: #555;
  background: -webkit-linear-gradient(#888, #555);
  background: linear-gradient(#888, #555);
}

 /* анимация при наведении на кнопку вкл и при наведении на текст кнопки вкл*/
.openclose-light.on:focus,
.openclose-light.off:focus
{
  -webkit-animation: pulsate 0.5s linear infinite;
  animation: pulsate 0.5s linear infinite;
}
 @-webkit-keyframes pulsate 
{
  0%   { color: #ddd; text-shadow: 0 -1px 0 #000; }
  50%  { color: #fff; text-shadow: 0 -1px 0 #444, 0 0 5px #ffd, 0 0 8px #fff; }
  100% { color: #ddd; text-shadow: 0 -1px 0 #000; }
}
     
@keyframes pulsate
{
  0%   { color: #ddd; text-shadow: 0 -1px 0 #000; }
  50%  { color: #fff; text-shadow: 0 -1px 0 #444, 0 0 5px #ffd, 0 0 8px #fff; }
  100% { color: #ddd; text-shadow: 0 -1px 0 #000; }
}
.openclose-light.off:active,
.openclose-light.on:active
{
  color: #fff;
  text-shadow: 0 -1px 0 #444, 0 0 5px #ffd, 0 0 8px #fff;
  box-shadow: 0 1px 0 #666, 0 2px 0 #444, 0 2px 2px rgba(0,0,0,0.9);
  -webkit-transform: translateY(4px);
  transform: translateY(4px);
  -webkit-animation: none;
  animation: none;
}
</style>
<div>свет зал</div>
<div class='openclose-light %.status|"on;off"%' onClick='callMethod("%.action");'>%.status|"вкл;выкл;"%</div>

Снимок.PNG
а чего кнопка не на весь размер ?
Спасибо нам ПОМОЖЕТ..!
Chainik
Сообщения: 1462
Зарегистрирован: Вс янв 10, 2016 11:05 am
Благодарил (а): 260 раз
Поблагодарили: 454 раза

Re: Шаблон класса / Class Template

Сообщение Chainik » Чт авг 30, 2018 8:51 am

sega6549, а у вас обратная связь на этой кнопке работает? Что я имею ввиду... вижу, что при нажатии на кнопку срабатывает метод (onClick='callMethod("%.action");).
А если свойство "status" изменится не по нажатию на эту кнопку, а откуда-нибудь из другого места, то в этом случае состояние кнопки изменится?
sega6549
Сообщения: 530
Зарегистрирован: Чт авг 20, 2015 11:32 am
Откуда: Ярославль
Благодарил (а): 61 раз
Поблагодарили: 75 раз
Контактная информация:

Re: Шаблон класса / Class Template

Сообщение sega6549 » Чт авг 30, 2018 8:58 am

tarasfrompir1 писал(а):
Чт авг 30, 2018 8:38 am
sega6549 писал(а):
Чт авг 30, 2018 8:20 am
народ, давайте кнопочками делиться, вот моя кнопочка
СпойлерПоказать

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

<style>
.openclose-light.on,
.openclose-light.off {
  display: block;
  font-size: 1.0em;
  font-weight: bold;
  width: 60px;
  height: 25px;
  padding-top:8px;
  padding-left:10px;
  color: #ccc;
  border-radius: 7.5px;
  text-shadow: 0 -1px 0 #000;
  box-shadow: 0 1px 0 #666, 0 5px 0 #444, 0 6px 6px rgba(0,0,0,0.6);
  cursor: pointer;
  -webkit-transition: all 150ms ease;
  transition: all 150ms ease;
}
 /*цвет и анимация свечения кнопки вкл*/
.openclose-light.on {
 background-color: #126be0;
  background: -webkit-linear-gradient(#0d448c, #126be0);
  background: linear-gradient(#0d448c, #126be0);
  -webkit-animation: pulsate 1s linear infinite;
  animation: pulsate 1s linear infinite;
}
 /* цвет кнопки выкл*/
 .openclose-light.off {
  background-color: #555;
  background: -webkit-linear-gradient(#888, #555);
  background: linear-gradient(#888, #555);
}

 /* анимация при наведении на кнопку вкл и при наведении на текст кнопки вкл*/
.openclose-light.on:focus,
.openclose-light.off:focus
{
  -webkit-animation: pulsate 0.5s linear infinite;
  animation: pulsate 0.5s linear infinite;
}
 @-webkit-keyframes pulsate 
{
  0%   { color: #ddd; text-shadow: 0 -1px 0 #000; }
  50%  { color: #fff; text-shadow: 0 -1px 0 #444, 0 0 5px #ffd, 0 0 8px #fff; }
  100% { color: #ddd; text-shadow: 0 -1px 0 #000; }
}
     
@keyframes pulsate
{
  0%   { color: #ddd; text-shadow: 0 -1px 0 #000; }
  50%  { color: #fff; text-shadow: 0 -1px 0 #444, 0 0 5px #ffd, 0 0 8px #fff; }
  100% { color: #ddd; text-shadow: 0 -1px 0 #000; }
}
.openclose-light.off:active,
.openclose-light.on:active
{
  color: #fff;
  text-shadow: 0 -1px 0 #444, 0 0 5px #ffd, 0 0 8px #fff;
  box-shadow: 0 1px 0 #666, 0 2px 0 #444, 0 2px 2px rgba(0,0,0,0.9);
  -webkit-transform: translateY(4px);
  transform: translateY(4px);
  -webkit-animation: none;
  animation: none;
}
</style>
<div>свет зал</div>
<div class='openclose-light %.status|"on;off"%' onClick='callMethod("%.action");'>%.status|"вкл;выкл;"%</div>

Снимок.PNG
а чего кнопка не на весь размер ?
ну поменять не долго если надо, мне так больше нравится
Тут можно задать вопрос по MajorDoMo VK
Канал по MajorDoMo youtube
sega6549
Сообщения: 530
Зарегистрирован: Чт авг 20, 2015 11:32 am
Откуда: Ярославль
Благодарил (а): 61 раз
Поблагодарили: 75 раз
Контактная информация:

Re: Шаблон класса / Class Template

Сообщение sega6549 » Чт авг 30, 2018 8:59 am

Chainik писал(а):
Чт авг 30, 2018 8:51 am
sega6549, а у вас обратная связь на этой кнопке работает? Что я имею ввиду... вижу, что при нажатии на кнопку срабатывает метод (onClick='callMethod("%.action");).
А если свойство "status" изменится не по нажатию на эту кнопку, а откуда-нибудь из другого места, то в этом случае состояние кнопки изменится?
конечно меняется, и у вас будет если проблем с веб сокетами нету, вроде так называется..
Тут можно задать вопрос по MajorDoMo VK
Канал по MajorDoMo youtube
Ответить