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

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

Модератор: immortal

Аватара пользователя
tarasfrompir
Сообщения: 3067
Зарегистрирован: Ср мар 02, 2016 8:18 pm
Откуда: Украина Пирятин
Благодарил (а): 202 раза
Поблагодарили: 749 раз

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

Сообщение tarasfrompir » Вт апр 28, 2020 9:41 am

Bagir писал(а):
Вт апр 28, 2020 9:39 am
Нашел я там эти все функции. Они одноименные и правда в файле scripts.js специально добавлены. Вот только они без обратной связи. Я иногда использую return в сценариях и методах объектов. Тут такое не прокатит.
Про обновление аяксом из модуля посмотрю. Может и правда как выковырять получится.
Трабла моя решаема конечно просто. Можно добавить новое свойство в объект термостата, и дублировать туда состояние наличия таймеров. Просто бывает, ну вот не хочется так делать и всё тут. Хочу получить это из шаблонов. Зацепило что ли, ну вот так вот.
В итоге задача сводится к к следующему: Узнать из кода шаблона класса о наличие или отсутствия таймера. Так же как
в php функция timeOutExists().
В начале, увидев в списке runScript() хотел обхитрить. Создать сценарий, в котором в return будет ответ от timeOutExists(). Но, как уже говорил, эти js функции не передает ответ. Не прокатило.
А вообще, получить такой функционал в шаблоны, весьма полезно. Может подобное вдохнет новую жизнь в шаблоны классов. Будем изучать, если будут результаты, напишу.
ну так через аякс вызывай методом гет-пост - пхп скрипт через таймер.... и заводи новый.... и так по кругу
Спасибо нам ПОМОЖЕТ..!
Аватара пользователя
tarasfrompir
Сообщения: 3067
Зарегистрирован: Ср мар 02, 2016 8:18 pm
Откуда: Украина Пирятин
Благодарил (а): 202 раза
Поблагодарили: 749 раз

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

Сообщение tarasfrompir » Вт апр 28, 2020 9:45 am

Спасибо нам ПОМОЖЕТ..!
Аватара пользователя
Bagir
Сообщения: 1485
Зарегистрирован: Вт сен 17, 2013 6:46 pm
Откуда: Ярославская область город Углич
Благодарил (а): 187 раз
Поблагодарили: 334 раза

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

Сообщение Bagir » Вт апр 28, 2020 11:46 am

Вот что получилось, работает:

Добавим вниз кода шаблона класса

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

<script type="text/javascript">
  var url=ROOTHTML;
  url+='objects/?script='+encodeURIComponent('scriptTimeOutExists')+'&timername=%.object_title%_work';
  $.ajax({
   url: url
  }).done(function(data) { 
    if (data==0) {
     document.getElementById('redtimer152620').setAttribute('style', 'display:none');
    } else {
     document.getElementById('redtimer152620').setAttribute('style', 'display:block');
    }
  });
</script>
Создаем сценарий scriptTimeOutExists

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

if (isset($params['timername'])) {
 echo timeOutExists($params['timername']);
}
Суть работы:
js код делает ajax запрос с вызовом сценария scriptTimeOutExists с передачей в параметре имени нужного таймера %.object_title%_work'. Имя у меня собирается из имени объекта + '_work'.
Сценарий scriptTimeOutExists вызывает функцию timeOutExists и возвращает её ответ в js код. Далее, по значению ответа, я прячу или показываю элемент с id redtimer152620. Отклик моментальный. Даже удивлен, что так быстро оказывает сменe состояния.
id нужно собирать с использование id объекта из класса, чтобы обеспечить уникальность. Например так document.getElementById('greentimer%.object_id%')
Желтая рамка показывает, что в данный момент работу котла поддерживает по мимо всех условий ещё и таймер минимальной работы после его включения.
Вложения
thrm.png
thrm.png (17.76 КБ) 1676 просмотров
Последний раз редактировалось Bagir Чт апр 30, 2020 3:47 pm, всего редактировалось 1 раз.
За это сообщение автора Bagir поблагодарил:
Chainik (Вт апр 28, 2020 4:59 pm)
Рейтинг: 1.19%
Windows 7, HTTP, MegaD, Z-Wave, 1-Wire
Ilfat
Сообщения: 38
Зарегистрирован: Пт июн 07, 2019 7:40 pm
Благодарил (а): 2 раза
Поблагодарили: 1 раз

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

Сообщение Ilfat » Ср апр 29, 2020 10:57 pm

Я немного извиняюсь. Туплю по чёрному наверное.
Прочитал страничку https://kb.mjdm.ru/commands_help/
Несколько вопросов:
1. "Пример виджетов комнат (класс Rooms, код тут)". Не понял, куда вставлять код.
2. В разделе "4. Темы (сторонние)" указаны нерабочие ссылки на
jquerymobile.zip и templates_alt.zip
3. Я правильно понимаю, что эти архивы нужно развернуть ПОВЕРХ имеющихся файлов? Куда разворачивать jquerymobile.zip ?
4. У меня есть элемент для управления выключателем. ESP01_2.relay1_send, сам контроллер возвращает своё фактическое состояние в элемент ESP01_2.relay1_state. Сделал управление через переключение ESP01_2.relay1_send, но отображение состояния нужно сделать в соответствии ESP01_2.relay1_state. Подскажите пожалуйста простые варианты как это сделать.
5. В меню сцен в панели управления у меня всего 6 сцен, А на основной странице показано 10 сцен. Как удалить лишние?
Jilber
Сообщения: 560
Зарегистрирован: Ср май 03, 2017 7:41 pm
Благодарил (а): 92 раза
Поблагодарили: 89 раз

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

Сообщение Jilber » Чт апр 30, 2020 1:33 am

Ilfat писал(а):
Ср апр 29, 2020 10:57 pm
1. "Пример виджетов комнат (класс Rooms, код тут)". Не понял, куда вставлять код.
Объекты-Rooms-Шаблон отображения.
СпойлерПоказать
Rooms.jpg
Rooms.jpg (52.07 КБ) 1732 просмотра
Ilfat писал(а):
Ср апр 29, 2020 10:57 pm
4. У меня есть элемент для управления выключателем. ESP01_2.relay1_send, сам контроллер возвращает своё фактическое состояние в элемент ESP01_2.relay1_state. Сделал управление через переключение ESP01_2.relay1_send, но отображение состояния нужно сделать в соответствии ESP01_2.relay1_state. Подскажите пожалуйста простые варианты как это сделать.
В нужный элемент на сцене надо добавить два состояния, например "On" и "Off" и уже в них добавить условия отображения в зависимости от свойства "ESP01_2.relay1_state".
СпойлерПоказать
On:
1.jpg
1.jpg (25.69 КБ) 1723 просмотра
Off:
0.jpg
0.jpg (25.73 КБ) 1723 просмотра
Ilfat
Сообщения: 38
Зарегистрирован: Пт июн 07, 2019 7:40 pm
Благодарил (а): 2 раза
Поблагодарили: 1 раз

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

Сообщение Ilfat » Сб май 02, 2020 8:43 pm

Jilber писал(а):
Чт апр 30, 2020 1:33 am
Объекты-Rooms-Шаблон отображения.
Нет у меня там Rooms
Jilber писал(а):
Чт апр 30, 2020 1:33 am
В нужный элемент на сцене надо добавить два состояния, например "On" и "Off" и уже в них добавить условия отображения в зависимости от свойства "ESP01_2.relay1_state".
Это отображение. А изменять тогда как?
Аватара пользователя
nick7zmail
Сообщения: 7468
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 1971 раз

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

Сообщение nick7zmail » Вс май 03, 2020 12:43 am

Ilfat писал(а):
Сб май 02, 2020 8:43 pm
Это отображение. А изменять тогда как?
Выполнить при клике...там же, где состояния отображения, ниже.
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
MrReD32
Сообщения: 12
Зарегистрирован: Пт янв 10, 2020 11:32 am
Благодарил (а): 0
Поблагодарили: 0

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

Сообщение MrReD32 » Ср июн 10, 2020 6:01 pm

Подскажите пожалуйста что я делаю не так? Нет картинок

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

<style>
@import url("https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-a..");
.containerUsers {
font-family: ArialHebrew-Light;
background-color: rgba(0, 0, 0, 0.3);
border-radius: 15px;
border: 1px solid #444;
padding: 5px;
}
.battUsers {
font-size: 85%;
padding-right: 10px;
padding-top: 10px;
float: right;
}
.mailUsers {
font-size: 85%;
padding-right: 10px;
padding-top: 10px;
float: right;
}
.wifiUsers {
font-size: 85%;
padding-right: 10px;
padding-top: 10px;
float: right;
}

.infoUsers {
padding-left: 10px;
padding-top: 10px;
}
.nameUsers {
font-size: 120%;
}
.locUsers {
font-size: 85%;
padding-top: 5px;
padding-bottom: 5px;
}
.timeUsers {
font-size: 60%;
color: grey;
}
</style>

<div class="containerUsers">
<div class="battUsers">
%.BattLevel%% <span class="batt_icon fa fa-%.BattPic%" style="color: %.BattColor%" aria-hidden="true"></span></div>
<div class="mailUsers">
%.GMailUnread% <span class="mail_icon fa fa-envelope" style="color: %.MailColor%" aria-hidden="true"></span></div>
<div class="wifiUsers">
<span class="wifi_icon fa fa-%.NetworkPic%" aria-hidden="true"></span></div>
<div class="infoUsers">
<div class="nameUsers" style="color: %.NameColor%">%.fullName%</div>
<div class="locUsers"><span class="loc_icon fa fa-map-marker" aria-hidden="true"></span> %.Location%</div>
<div class="timeUsers">
<span class="ref_icon fa fa-refresh fa-spin" aria-hidden="true"></span>&nbsp;GPS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;%.updatedText%
<br/>
<span class="ref_icon fa fa-refresh fa-spin" aria-hidden="true"></span>&nbsp;Online&nbsp;%.HomeUpdate%</div>
</div>
<div style="clear:both;"></div>
</div>
Вложения
1.png
1.png (10.11 КБ) 1283 просмотра
Аватара пользователя
xor
Сообщения: 1721
Зарегистрирован: Сб ноя 22, 2014 8:45 pm
Благодарил (а): 204 раза
Поблагодарили: 512 раз

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

Сообщение xor » Ср июн 10, 2020 10:26 pm

MrReD32 писал(а):
Ср июн 10, 2020 6:01 pm
Подскажите пожалуйста что я делаю не так? Нет картинок

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

<style>
@import url("https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-a..");
...
прям такая ссылка с точками на конце?
MrReD32
Сообщения: 12
Зарегистрирован: Пт янв 10, 2020 11:32 am
Благодарил (а): 0
Поблагодарили: 0

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

Сообщение MrReD32 » Чт июн 11, 2020 6:42 am

Да именно так
Ответить