Активные объекты на сценах

Использование системы в различных ситуациях, вопросы программирования сценариев.

Модератор: immortal

Vit
Сообщения: 867
Зарегистрирован: Вт янв 17, 2012 12:31 pm
Благодарил (а): 121 раз
Поблагодарили: 78 раз

Re: Элемент Термодатчик

Сообщение Vit » Вс янв 11, 2015 8:23 pm

Dragon писал(а):Заголовок: Активные объекты на сценах
Bagir писал(а):Предлагаю вот такое незамысловатое добавление к элементам в виде кружочка для неживых датчиков. Иногда бывает и полезно увидеть, что датчик неживой. Например в случае с z-wave может получиться так, что датчик будет расположен на максимальном удалении от контроллера, и в какой то момент перестанет вообще его видеть.
Здравствуйте хотел сделать как на форуме, чтобы определять живой датчик или нет.
получилось только сделать так для одного датчика, как только а прописываю под второй датчик первый перестает показывать, нет ни точки не стрелок они как то перепрыгивают ко второму датчику хотя свойства .alive и .direction указываю каждому датчику свой.

покажите код для первого и для второго датчика...
Аватара пользователя
Bagir
Сообщения: 1615
Зарегистрирован: Вт сен 17, 2013 6:46 pm
Откуда: Ярославская область город Углич
Благодарил (а): 212 раз
Поблагодарили: 375 раз

Re: Активные объекты на сценах

Сообщение Bagir » Вс янв 11, 2015 8:39 pm

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

<style>
div.element_37 {
  font-size: 12pt;
  font-weight:700;
  text-align: center;
  border-radius: 30px;
  background-image: radial-gradient(%Livingroom.TempHEX% -15px, rgba(0,0,0,0) 65%);
}
.element0 {
    width: 12px;
    height: 12px;
    background: red;
    border-radius: 6px;
}
.element1 {
    width: 0;
    height: 0;
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
    border-top: 10px solid blue;
}
.element2 {
}
.element3 {
    width: 0;
    height: 0;
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
    border-bottom: 10px solid OrangeRed;
}
</style>

<script> 
 var ad="element" + (2+Number(%ts_livingroom.direction%)) * Number(%ts_livingroom.alive%);
 var e = document.getElementById('f37');
 e.setAttribute('class', ad);
 // 0-не живой, 1-падает, 2-без изменений, 3-растет
</script>

<br>
%Livingroom.Temperature% ℃
<div id="f37" class="element2"></div>
<style>
div.element_37 {
font-size: 12pt;
font-weight:700;
text-align: center;
border-radius: 30px;
background-image: radial-gradient(%Livingroom.TempHEX% -15px, rgba(0,0,0,0) 65%);
}
.element0 {
width: 12px;
height: 12px;
background: red;
border-radius: 6px;
}
.element1 {
width: 0;
height: 0;
border-left: 10px solid transparent;
border-right: 10px solid transparent;
border-top: 10px solid blue;
}
.element2 {
}
.element3 {
width: 0;
height: 0;
border-left: 10px solid transparent;
border-right: 10px solid transparent;
border-bottom: 10px solid OrangeRed;
}
</style>

<script>
var ad="element" + (2+Number(%ts_livingroom.direction%)) * Number(%ts_livingroom.alive%);
var e = document.getElementById('f37');
e.setAttribute('class', ad);
// 0-не живой, 1-падает, 2-без изменений, 3-растет
</script>

<br>
%Livingroom.Temperature% ℃
<div id="f37" class="element2"></div>

Небольшое изменение. Внизу element я заменил element2. Дело в том, что так то все равно как его назвать, т.к. в самом начале это имя как раз и подменяется. Но все же, думаю, будет правильней, если сделать так, потому что стиля element просто нету.
Windows 10, HTTP, MegaD, Z-Wave, 1-Wire, CONNECT
Dragon
Сообщения: 96
Зарегистрирован: Ср авг 27, 2014 6:14 am
Благодарил (а): 36 раз
Поблагодарили: 0

Re: Элемент Термодатчик

Сообщение Dragon » Вс янв 11, 2015 8:57 pm

-
Последний раз редактировалось Dragon Вс янв 11, 2015 9:05 pm, всего редактировалось 1 раз.
Dragon
Сообщения: 96
Зарегистрирован: Ср авг 27, 2014 6:14 am
Благодарил (а): 36 раз
Поблагодарили: 0

Re: Элемент Термодатчик

Сообщение Dragon » Вс янв 11, 2015 9:04 pm

Vit писал(а):Заголовок: Активные объекты на сценах

покажите код для первого и для второго датчика...
во текст первого датчика
СпойлерПоказать
<style>
div.element_20 {
font-size: 12pt;
font-weight:700;
text-align: center;
border-radius: 30px;
background-image: radial-gradient(%Outdoor_sensor.TempHEX% -15px, rgba(0,0,0,0) 65%);
}
.element0 {
width: 12px;
height: 12px;
background: red;
border-radius: 6px;
}
.element1 {
width: 0;
height: 0;
border-left: 10px solid transparent;
border-right: 10px solid transparent;
border-top: 10px solid blue;
}
.element2 {
}
.element3 {
width: 0;
height: 0;
border-left: 10px solid transparent;
border-right: 10px solid transparent;
border-bottom: 10px solid OrangeRed;
}
</style>

<script>
var ad="element" + (2+Number(%Outdoor_sensor.direction%)) * Number(%Outdoor_sensor.alive%);
var e = document.getElementById('f');
e.setAttribute('class', ad);
// 0-не живой, 1-падает, 2-без изменений, 3-растет
</script>

<br>
%Outdoor_sensor.temp% ℃
<div id="f" class="element2"></div>
а вот для второго
СпойлерПоказать
<style>
div.element_21 {
font-size: 12pt;
font-weight:700;
text-align: center;
border-radius: 30px;
background-image: radial-gradient(%Hall_sensor.TempHEX% -15px, rgba(0,0,0,0) 65%);
}
.element0 {
width: 12px;
height: 12px;
background: red;
border-radius: 6px;
}
.element1 {
width: 0;
height: 0;
border-left: 10px solid transparent;
border-right: 10px solid transparent;
border-top: 10px solid blue;
}
.element2 {
}
.element3 {
width: 0;
height: 0;
border-left: 10px solid transparent;
border-right: 10px solid transparent;
border-bottom: 10px solid OrangeRed;
}
</style>

<script>
var ad="element" + (2+Number(%Hall_sensor.direction%)) * Number(%Hall_sensor.alive%);
var e = document.getElementById('f');
e.setAttribute('class', ad);
// 0-не живой, 1-падает, 2-без изменений, 3-растет
</script>

<br>
%Hall_sensor.temp% ℃
<div id="f" class="element2"></div>
что я не так делаю
Аватара пользователя
Bagir
Сообщения: 1615
Зарегистрирован: Вт сен 17, 2013 6:46 pm
Откуда: Ярославская область город Углич
Благодарил (а): 212 раз
Поблагодарили: 375 раз

Re: Активные объекты на сценах

Сообщение Bagir » Вс янв 11, 2015 9:51 pm

Если одинаковых элементов несколько, можно попробовать использовать разные имена
var e = document.getElementById('f64');
<div id="f64" class="element2"></div>
Например тоже добавлять цифру id элемента. Это должно помочь.
За это сообщение автора Bagir поблагодарил:
Dragon (Вс янв 11, 2015 10:04 pm)
Рейтинг: 1.16%
Windows 10, HTTP, MegaD, Z-Wave, 1-Wire, CONNECT
Dragon
Сообщения: 96
Зарегистрирован: Ср авг 27, 2014 6:14 am
Благодарил (а): 36 раз
Поблагодарили: 0

Re: Активные объекты на сценах

Сообщение Dragon » Вс янв 11, 2015 10:15 pm

Bagir писал(а):Если одинаковых элементов несколько, можно попробовать использовать разные имена
var e = document.getElementById('f64');
<div id="f64" class="element2"></div>
Например тоже добавлять цифру id элемента. Это должно помочь.
Спасибо после этих изменений все заработало как надо.
I_I_Imonder
Сообщения: 256
Зарегистрирован: Сб янв 11, 2014 2:54 pm
Благодарил (а): 12 раз
Поблагодарили: 14 раз

Re: Активные объекты на сценах

Сообщение I_I_Imonder » Сб июл 04, 2015 11:00 am

получилось у кого сделать слайдер для сцены?
Ответить