Шаблон класса / Class Template
Модератор: immortal
- xor
- Сообщения: 2038
- Зарегистрирован: Сб ноя 22, 2014 8:45 pm
- Благодарил (а): 284 раза
- Поблагодарили: 629 раз
Re: Шаблон класса / Class Template
А мне вот это нравится
https://connect.smartliving.ru/profile/1594/blog87.html
Отправлено с моего Redmi 4X через Tapatalk
https://connect.smartliving.ru/profile/1594/blog87.html
Отправлено с моего Redmi 4X через Tapatalk
win10 connect https://connect.smartliving.ru/profile/303
- igorewa
- Сообщения: 515
- Зарегистрирован: Ср дек 21, 2016 11:54 pm
- Откуда: Киев
- Благодарил (а): 12 раз
- Поблагодарили: 43 раза
Re: Шаблон класса / Class Template
Друзья помогите избавиться от этих предупреждений log:
Alena.ChangeBattLevel ->
Alena.ChangeBattLevel
16:10:31 0.41367300 Warning: cross-linked call of igor.ChangeBattLevel
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
Так ведь метод завязан на себя смотри методы.… бат левела ...
Спасибо нам ПОМОЖЕТ..!
- vitosmaxim80sad145
- Сообщения: 148
- Зарегистрирован: Сб июл 07, 2018 12:48 am
- Откуда: Днепр
- Благодарил (а): 100 раз
- Поблагодарили: 1 раз
-
- Сообщения: 44
- Зарегистрирован: Пт авг 24, 2018 6:09 pm
- Благодарил (а): 7 раз
- Поблагодарили: 23 раза
Re: Шаблон класса / Class Template
Всем привет. Совсем недавно поставил себе MajorDoMo.
Сразу же решил написать классы под свои задачи.
Нужен был выключатель на 3 позиции (включить свет = 0, выключить свет = 1 и авто = 2 с использованием датчика движения).
Создал новый класс с единственным свойством "status" и единственным методом "Switch":
В шаблоне класса прописал стиль и
Использую в сцене как объект.
При клике вызывается метод "Switch".
Всё хорошо, но он не обновляется. Переключение происходит, но что бы в этом убедиться - нужно обновлять страницу.
Вопрос как сделать автоматическое обновление отображения объекта в сцене (как это происходит со стандартными выключателями)
А ещё хочется, что бы это работало и при изменение свойств. По MQTT переодически получаю актуальную информацию, её нужно выводить и обновлять, без обновления страницы.
Сразу же решил написать классы под свои задачи.
Нужен был выключатель на 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 переодически получаю актуальную информацию, её нужно выводить и обновлять, без обновления страницы.
-
- Сообщения: 530
- Зарегистрирован: Чт авг 20, 2015 11:32 am
- Откуда: Ярославль
- Благодарил (а): 61 раз
- Поблагодарили: 75 раз
- Контактная информация:
Re: Шаблон класса / Class Template
народ, давайте кнопочками делиться, вот моя кнопочка
СпойлерПоказать
Код: Выделить всё
<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>
- За это сообщение автора sega6549 поблагодарили (всего 2):
- tarasfrompir (Чт авг 30, 2018 8:38 am) • Bagir (Пт сен 06, 2019 11:21 am)
- Рейтинг: 2.33%
- tarasfrompir
- Сообщения: 3216
- Зарегистрирован: Ср мар 02, 2016 8:18 pm
- Откуда: Украина Пирятин
- Благодарил (а): 223 раза
- Поблагодарили: 815 раз
Re: Шаблон класса / Class Template
а чего кнопка не на весь размер ?sega6549 писал(а): ↑Чт авг 30, 2018 8:20 amнарод, давайте кнопочками делиться, вот моя кнопочкаСнимок.PNGСпойлерПоказатьКод: Выделить всё
<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>
Спасибо нам ПОМОЖЕТ..!
-
- Сообщения: 1462
- Зарегистрирован: Вс янв 10, 2016 11:05 am
- Благодарил (а): 260 раз
- Поблагодарили: 454 раза
Re: Шаблон класса / Class Template
sega6549, а у вас обратная связь на этой кнопке работает? Что я имею ввиду... вижу, что при нажатии на кнопку срабатывает метод (onClick='callMethod("%.action");).
А если свойство "status" изменится не по нажатию на эту кнопку, а откуда-нибудь из другого места, то в этом случае состояние кнопки изменится?
А если свойство "status" изменится не по нажатию на эту кнопку, а откуда-нибудь из другого места, то в этом случае состояние кнопки изменится?
-
- Сообщения: 530
- Зарегистрирован: Чт авг 20, 2015 11:32 am
- Откуда: Ярославль
- Благодарил (а): 61 раз
- Поблагодарили: 75 раз
- Контактная информация:
Re: Шаблон класса / Class Template
ну поменять не долго если надо, мне так больше нравитсяtarasfrompir1 писал(а): ↑Чт авг 30, 2018 8:38 amа чего кнопка не на весь размер ?sega6549 писал(а): ↑Чт авг 30, 2018 8:20 amнарод, давайте кнопочками делиться, вот моя кнопочкаСнимок.PNGСпойлерПоказатьКод: Выделить всё
<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>
-
- Сообщения: 530
- Зарегистрирован: Чт авг 20, 2015 11:32 am
- Откуда: Ярославль
- Благодарил (а): 61 раз
- Поблагодарили: 75 раз
- Контактная информация:
Re: Шаблон класса / Class Template
конечно меняется, и у вас будет если проблем с веб сокетами нету, вроде так называется..Chainik писал(а): ↑Чт авг 30, 2018 8:51 amsega6549, а у вас обратная связь на этой кнопке работает? Что я имею ввиду... вижу, что при нажатии на кнопку срабатывает метод (onClick='callMethod("%.action");).
А если свойство "status" изменится не по нажатию на эту кнопку, а откуда-нибудь из другого места, то в этом случае состояние кнопки изменится?