ну так через аякс вызывай методом гет-пост - пхп скрипт через таймер.... и заводи новый.... и так по кругуBagir писал(а): ↑Вт апр 28, 2020 9:39 amНашел я там эти все функции. Они одноименные и правда в файле scripts.js специально добавлены. Вот только они без обратной связи. Я иногда использую return в сценариях и методах объектов. Тут такое не прокатит.
Про обновление аяксом из модуля посмотрю. Может и правда как выковырять получится.
Трабла моя решаема конечно просто. Можно добавить новое свойство в объект термостата, и дублировать туда состояние наличия таймеров. Просто бывает, ну вот не хочется так делать и всё тут. Хочу получить это из шаблонов. Зацепило что ли, ну вот так вот.
В итоге задача сводится к к следующему: Узнать из кода шаблона класса о наличие или отсутствия таймера. Так же как
в php функция timeOutExists().
В начале, увидев в списке runScript() хотел обхитрить. Создать сценарий, в котором в return будет ответ от timeOutExists(). Но, как уже говорил, эти js функции не передает ответ. Не прокатило.
А вообще, получить такой функционал в шаблоны, весьма полезно. Может подобное вдохнет новую жизнь в шаблоны классов. Будем изучать, если будут результаты, напишу.
Шаблон класса / Class Template
Модератор: immortal
- tarasfrompir
- Сообщения: 3216
- Зарегистрирован: Ср мар 02, 2016 8:18 pm
- Откуда: Украина Пирятин
- Благодарил (а): 223 раза
- Поблагодарили: 816 раз
Re: Шаблон класса / Class Template
Спасибо нам ПОМОЖЕТ..!
- tarasfrompir
- Сообщения: 3216
- Зарегистрирован: Ср мар 02, 2016 8:18 pm
- Откуда: Украина Пирятин
- Благодарил (а): 223 раза
- Поблагодарили: 816 раз
Re: Шаблон класса / Class Template
что типа смешать это - https://github.com/tarasfrompir/SSDPDri ... erver.html
с вот этим - https://github.com/tarasfrompir/SSDPDri ... r.html#L60
с вот этим - https://github.com/tarasfrompir/SSDPDri ... r.html#L60
Спасибо нам ПОМОЖЕТ..!
- Bagir
- Сообщения: 1615
- Зарегистрирован: Вт сен 17, 2013 6:46 pm
- Откуда: Ярославская область город Углич
- Благодарил (а): 212 раз
- Поблагодарили: 375 раз
Re: Шаблон класса / Class Template
Вот что получилось, работает:
Добавим вниз кода шаблона класса
Создаем сценарий scriptTimeOutExists
Суть работы:
js код делает ajax запрос с вызовом сценария scriptTimeOutExists с передачей в параметре имени нужного таймера %.object_title%_work'. Имя у меня собирается из имени объекта + '_work'.
Сценарий scriptTimeOutExists вызывает функцию timeOutExists и возвращает её ответ в js код. Далее, по значению ответа, я прячу или показываю элемент с id redtimer152620. Отклик моментальный. Даже удивлен, что так быстро оказывает сменe состояния.
id нужно собирать с использование id объекта из класса, чтобы обеспечить уникальность. Например так document.getElementById('greentimer%.object_id%')
Желтая рамка показывает, что в данный момент работу котла поддерживает по мимо всех условий ещё и таймер минимальной работы после его включения.
Добавим вниз кода шаблона класса
Код: Выделить всё
<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>
Код: Выделить всё
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 (17.76 КБ) 7177 просмотров
Последний раз редактировалось Bagir Чт апр 30, 2020 3:47 pm, всего редактировалось 1 раз.
- Рейтинг: 2.33%
-
- Сообщения: 44
- Зарегистрирован: Пт июн 07, 2019 7:40 pm
- Благодарил (а): 3 раза
- Поблагодарили: 1 раз
Re: Шаблон класса / Class Template
Я немного извиняюсь. Туплю по чёрному наверное.
Прочитал страничку 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 сцен. Как удалить лишние?
Прочитал страничку 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 сцен. Как удалить лишние?
-
- Сообщения: 712
- Зарегистрирован: Ср май 03, 2017 7:41 pm
- Благодарил (а): 117 раз
- Поблагодарили: 112 раз
Re: Шаблон класса / Class Template
Объекты-Rooms-Шаблон отображения.
СпойлерПоказать
В нужный элемент на сцене надо добавить два состояния, например "On" и "Off" и уже в них добавить условия отображения в зависимости от свойства "ESP01_2.relay1_state".Ilfat писал(а): ↑Ср апр 29, 2020 10:57 pm4. У меня есть элемент для управления выключателем. ESP01_2.relay1_send, сам контроллер возвращает своё фактическое состояние в элемент ESP01_2.relay1_state. Сделал управление через переключение ESP01_2.relay1_send, но отображение состояния нужно сделать в соответствии ESP01_2.relay1_state. Подскажите пожалуйста простые варианты как это сделать.
СпойлерПоказать
On:
Off:
-
- Сообщения: 44
- Зарегистрирован: Пт июн 07, 2019 7:40 pm
- Благодарил (а): 3 раза
- Поблагодарили: 1 раз
- nick7zmail
- Сообщения: 7573
- Зарегистрирован: Пн окт 28, 2013 8:14 am
- Откуда: Екатеринбург
- Благодарил (а): 121 раз
- Поблагодарили: 2010 раз
Re: Шаблон класса / Class Template
Выполнить при клике...там же, где состояния отображения, ниже.
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".

>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
-
- Сообщения: 21
- Зарегистрирован: Пт янв 10, 2020 11:32 am
- Благодарил (а): 1 раз
- Поблагодарили: 0
Re: Шаблон класса / Class Template
Подскажите пожалуйста что я делаю не так? Нет картинок
Код: Выделить всё
<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> GPS %.updatedText%
<br/>
<span class="ref_icon fa fa-refresh fa-spin" aria-hidden="true"></span> Online %.HomeUpdate%</div>
</div>
<div style="clear:both;"></div>
</div>
- Вложения
-
- 1.png (10.11 КБ) 6784 просмотра
- xor
- Сообщения: 2045
- Зарегистрирован: Сб ноя 22, 2014 8:45 pm
- Благодарил (а): 289 раз
- Поблагодарили: 632 раза
Re: Шаблон класса / Class Template
прям такая ссылка с точками на конце?MrReD32 писал(а): ↑Ср июн 10, 2020 6:01 pmПодскажите пожалуйста что я делаю не так? Нет картинок
Код: Выделить всё
<style> @import url("https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-a.."); ...
win10 connect https://connect.smartliving.ru/profile/303