Дизайн сцен 2

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

Модератор: immortal

immortal
Сообщения: 1138
Зарегистрирован: Вт янв 29, 2013 9:16 am
Откуда: Белозерск
Контактная информация:

Re: Дизайн сцен 2

Сообщение immortal »

Vovix писал(а):
immortal писал(а):
Vovix писал(а): пожалуйста создайте свою тему и модерируйте её на здоровье!
Не правильно создавать кучу одинаковых тем, попросил Сергея дать права на модерирование. Не даст то потихоньку создам может быть.
:D что-то мне это ваше сообщение не нравиться, попрошу Сергея дать права на модерирование....
(вам не кажется этот мой вопрос странным?)

а вы собираетесь просить именно об этом!
если бы не только мне было не удобно пользоваться и находить ответы, не могу сказать про эту тему поскольку все 37 страниц не просмотрел, но в темах встречал несколько одинаковых вопросов, полагаю, что после первого вопроса и решения если бы это решение попало бы в первое сообщение то второй раз вопрос не задавался.
Да,можно и так сказать.
Lubuntu на cubieboard2 + ds9490R
DietPi на Orange Pi PC + 1wire на esp8266 с прошивкой Homes-smart.ru
Аватара пользователя
lanket
Сообщения: 1168
Зарегистрирован: Вт окт 14, 2014 11:27 pm
Откуда: Санкт-Петербург

Re: Дизайн сцен 2

Сообщение lanket »

immortal писал(а):
Vovix писал(а):
immortal писал(а):
Vovix писал(а): пожалуйста создайте свою тему и модерируйте её на здоровье!
Не правильно создавать кучу одинаковых тем, попросил Сергея дать права на модерирование. Не даст то потихоньку создам может быть.
:D что-то мне это ваше сообщение не нравиться, попрошу Сергея дать права на модерирование....
(вам не кажется этот мой вопрос странным?)

а вы собираетесь просить именно об этом!
если бы не только мне было не удобно пользоваться и находить ответы, не могу сказать про эту тему поскольку все 37 страниц не просмотрел, но в темах встречал несколько одинаковых вопросов, полагаю, что после первого вопроса и решения если бы это решение попало бы в первое сообщение то второй раз вопрос не задавался.
Да,можно и так сказать.
Вы правы, зачастую многим нужны ответы на одни и те же вопросы. Иногда тема топика не подразумевает одного ответа, например 'давайте делиться сценами'
В таких случаях удобен формат первого сообщения по образу и подобии 4pda.ru. По сути то что вы говорите. И вы правы, форум растёт, число интересующихся растёт. И чем больше палок и неудобств в поиске ответов на вопросы, тем больше шансов потерять потенциальных пользователей которые также могут внести новые идеи или решения в развитии этого прекрасного проекта.

Отправлено с моего Redmi Note 3 через Tapatalk
Разработка голосового асистента для Мажордомо по любому ключевому слову.
:arrow: Обсужение
:arrow: gitHub 2й версии терминала
:arrow: GitHub модуля для МД
gitHub сырого модуля 2й версии
:arrow: Connect
Rasberry Pi 2, MDM, MySensors. И говорящий апельсин.
Аватара пользователя
Vovix
Сообщения: 1155
Зарегистрирован: Пн янв 27, 2014 1:43 am
Откуда: г.Ижевск
Контактная информация:

Re: Дизайн сцен 2

Сообщение Vovix »

удалю тему нафик тогда сейчас совсем!

чего вы к другим темам не докапываетесь где сотни (СОТНИ!) страниц?

а вообще... раз уж пошла такая песня...
вот такие сообщения:
всё это прекрасно, но что будет если вот этого не будет
//@import url("https://maxcdn.bootstrapcdn.com/font-aw ... me.min.css");
может логичнее css на своем сервере держать? 4.7.0 можно скачать....
и увеличивают размер темы, т.к. отношения именно к теме не имеют. Это просто знание работы конструкции @import url и не более того!

я себе сделал и поделился тем как это сделать - и поддерживать это не обязан, хотя по возможности буду!

вот и делись после этого... !!!???
Мой -CONNECT-
Windows 7(PHP 7.2) + Raspberry Pi(освещение на 1-Wire) + MP751(управление) + ESP8266(сенсоры) + LAN(сенсоры)
-=: Если вам помогло моё сообщение, нажмите кнопку "Поблагодарить за сообщение автора: Vovix" (кнопка Спасибо) справа! :=-
pion365
Сообщения: 32
Зарегистрирован: Сб дек 10, 2016 7:10 pm

Re: Дизайн сцен 2

Сообщение pion365 »

Vovix писал(а):удалю тему нафик тогда сейчас совсем!
Но, но, но! Не обращайте внимания, такие люди были и будут.
Вы провели грандиозную работу и облегчили усилия многим, особенно тем, кто не в ладах с программированием.
Спасибо Вам за это. Конечно, плюсики.

У меня сразу попутный вопрос, даже два:
1. Как подкорректировать значение температуры погодного датчика? В самом датчике это сделать невозможно.
2. Как сделать анимацию элемента на сцене, который отображает температуру, чтобы этот элемент мигал в определённом диапазоне температур? Например, для отображения температуры термостата (в котле), чтобы при выходе за границу температуры сам элемент начинал мигать для привлечения внимания?
ARMBIAN на Orange PiPC
Аватара пользователя
lanket
Сообщения: 1168
Зарегистрирован: Вт окт 14, 2014 11:27 pm
Откуда: Санкт-Петербург

Re: Дизайн сцен 2

Сообщение lanket »

Vovix писал(а):удалю тему нафик тогда сейчас совсем!

чего вы к другим темам не докапываетесь где сотни (СОТНИ!) страниц?
....
вот и делись после этого... !!!???
Прошу прощения если задел неосторожным словцом.

Мой ответ был не упреком в Вашу сторону а лишь поддержкой идеи что пора вводить модераторов и приходить к какому-то стандарту топиков. Для удобства поиска нужной информации как это практикуется на больших форумах к которому движется этот проект.
Ещё раз прошу прощения.

Отправлено с моего Redmi Note 3 через Tapatalk
Разработка голосового асистента для Мажордомо по любому ключевому слову.
:arrow: Обсужение
:arrow: gitHub 2й версии терминала
:arrow: GitHub модуля для МД
gitHub сырого модуля 2й версии
:arrow: Connect
Rasberry Pi 2, MDM, MySensors. И говорящий апельсин.
Аватара пользователя
Vovix
Сообщения: 1155
Зарегистрирован: Пн янв 27, 2014 1:43 am
Откуда: г.Ижевск
Контактная информация:

Re: Дизайн сцен 2

Сообщение Vovix »

pion365 писал(а): ...
У меня сразу попутный вопрос, даже два:
1. Как подкорректировать значение температуры погодного датчика? В самом датчике это сделать невозможно.
это можно сделать разными путями, например у меня (т.к. яндекс.погода практически умерла я перешел на использование данных OpenWeatherMap)
есть класс Weather в котором есть объект Izhevsk у которого есть метод 10days
который запускается в свою очередь из метода onNewHour
Код метода (это далеко не лучшая реализация):

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

for ($i=0; $i<10; $i++) {
 sg(("Izhevsk.mcD".$i."_Temp_0"),round(gg("ow_day".$i.".temp_day")));
 sg(("Izhevsk.mcD".$i."_Temp_1"),round(gg("ow_day".$i.".temp_night")));
 sg(("Izhevsk.mcD".$i."_Image_0"),gg("ow_day".$i.".image"));
 sg(("Izhevsk.mcD".$i."_Pressure_0"),round(gg("ow_day".$i.".pressure_mmhg")));
 sg(("Izhevsk.mcD".$i."_Humidity_0"),round(gg("ow_day".$i.".humidity")));
 sg(("Izhevsk.mcD".$i."_WindSpeed_0"),round(gg("ow_day".$i.".wind_speed")));
 sg(("Izhevsk.mcD".$i."_WindDir_0"),round(gg("ow_day".$i.".wind_direction")));
 sg(("Izhevsk.mcD".$i."_Weather_type_0"),gg("ow_day".$i.".weather_type"));
 sg(("Izhevsk.mcD".$i."_Day"),getDayDate(gg("ow_day".$i.".date")));
}

// Проговариваем, при необходимости
$sayMetUSD = gg ("Sets.sayMetUSD");
if ($sayMetUSD) {
    say("Читаю прогноз погоды на 10 дней с Yandex",($sayMetUSD-2));
}
как видите тут я провожу округление значений (но лучше поищите исправление проблемы с двумя значениями после запятой в OpenWeatherMap

pion365 писал(а): 2. Как сделать анимацию элемента на сцене, который отображает температуру, чтобы этот элемент мигал в определённом диапазоне температур? Например, для отображения температуры термостата (в котле), чтобы при выходе за границу температуры сам элемент начинал мигать для привлечения внимания?
вот я так, на скорую руку, сделал на сцене вывод температуры с датчика в бане:

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

<div class="panel-showing2">
    <ul>
      <li>
        <div class="title">Температура в бане:</div>
        <div class="sense_snowing_%TempSensor4.code_color%">%TempSensor4.temp1% °C</div>
      </li>
    </ul>
</div>
при этом, естественно в general_CSS (only CSS) этой сцены у меня прописаны варианты отображения для получившихся из этого: sense_snowing_%TempSensor4.code_color%
классов, например так, это часть моего кода в Дополнительный код CSS:
SPOILERSPOILER_SHOW

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

.panel-showing1 ul li .sense_snowing_1, 
.panel-showing1 ul li .title, 
.panel-showing1 ul li .sense_snowing_0,
.panel-showing1 ul li .sense_snowing_2,
.panel-showing1 ul li .sense_snowing_3,
.panel-showing2 ul li .sense_snowing_1, 
.panel-showing2 ul li .title, 
.panel-showing2 ul li .sense_snowing_0,
.panel-showing2 ul li .sense_snowing_2,
.panel-showing2 ul li .sense_snowing_3,
.panel-showing3 ul li .sense_snowing_1, 
.panel-showing3 ul li .title, 
.panel-showing3 ul li .sense_snowing_0,
.panel-showing3 ul li .sense_snowing_2,
.panel-showing3 ul li .sense_snowing_3,
.panel-showing4 ul li .sense_snowing_1, 
.panel-showing4 ul li .title, 
.panel-showing4 ul li .sense_snowing_0,
.panel-showing4 ul li .sense_snowing_2,
.panel-showing4 ul li .sense_snowing_3 {
  display: inline-block;
  font-size: 20px;
  line-height: 1.6;
  padding: 3px 8px;
 font-family: monospace;
 font-weight: lighter;
}
.panel-showing1 ul li .sense_snowing_1,
.panel-showing2 ul li .sense_snowing_1,
.panel-showing3 ul li .sense_snowing_1,
.panel-showing4 ul li .sense_snowing_1 {
  float: right;
  width: 180px;
  text-align: center;
  font-family: monospace;
  font-weight: lighter;
  background-color: rgba(0, 233, 233, 0.6);
  color: white;
  -moz-border-radius: 10px;
  -webkit-border-radius: 10px;
  border-radius: 10px;
}

.panel-showing1 ul li .sense_snowing_0,
.panel-showing2 ul li .sense_snowing_0,
.panel-showing3 ul li .sense_snowing_0,
.panel-showing4 ul li .sense_snowing_0 {
  float: right;
  width: 180px;
  text-align: center;
  font-family: monospace;
  font-weight: lighter;
  background-color: rgba(0, 40, 40, 0.6);
  color: rgba(190, 190, 190, 1);
  -moz-border-radius: 10px;
  -webkit-border-radius: 10px;
  border-radius: 10px;
}

/* -------- разными цветами --------*/
.panel-showing1 ul li .sense_snowing_2,
.panel-showing2 ul li .sense_snowing_2,
.panel-showing3 ul li .sense_snowing_2,
.panel-showing4 ul li .sense_snowing_2 {
  float: right;
  width: 180px;
  text-align: center;
  font-family: monospace;
  font-weight: lighter;
  background-color: rgba(0, 233, 0, 0.6);
  color: white;
  -moz-border-radius: 10px;
  -webkit-border-radius: 10px;
  border-radius: 10px;
}

.panel-showing1 ul li .sense_snowing_3,
.panel-showing2 ul li .sense_snowing_3,
.panel-showing3 ul li .sense_snowing_3,
.panel-showing4 ul li .sense_snowing_3 {
  float: right;
  width: 180px;
  text-align: center;
  font-family: monospace;
  font-weight: lighter;
  background-color: rgba(233, 0, 0, 0.6);
  color: white;
  -moz-border-radius: 10px;
  -webkit-border-radius: 10px;
  border-radius: 10px;
  animation: blink 1s ease-out infinite;
}
естественно, чтобы это работало у меня есть объект TempSensor4.code_color который меняет свое значение в зависимости от значения температуры, например так (это из espdata):

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

if ($dsw1!="") {sg(("TempSensor4.temp"),$dsw1);
                                           if ($dsw1 < gg("Sets.TempBanyAlarm")) {
                                            sg(("TempSensor4.code_color"),3);
                                           } else {
                                             sg(("TempSensor4.code_color"),2);
                                        }
                                   }// в бане      
но этот код как видно тоже зависит от значения Sets.TempBanyAlarm

...
вот поэтому чтобы, например эти сцены, выглядели как они задуманы у меня, нужно много взаимозависимых объектов переделать на свои.

вот варианты вывода значения температуры в бане для вариантов с
TempSensor4.code_color = 3 (красный и он еще мигает), 2(зелёный это норма), и 0 (если этот элемент не используется)
Скриншот 2017-02-04 23.47.19.png
Скриншот 2017-02-04 23.47.19.png (160.53 КБ) 10299 просмотров
TempSensor4.code_color = 2(зелёный - это норма)
Скриншот 2017-02-04 23.45.28.png
Скриншот 2017-02-04 23.45.28.png (164.86 КБ) 10299 просмотров
TempSensor4.code_color = 0 (если этот элемент не используется, не нужен)
Скриншот 2017-02-04 23.54.22.png
Скриншот 2017-02-04 23.54.22.png (165.55 КБ) 10299 просмотров
Мой -CONNECT-
Windows 7(PHP 7.2) + Raspberry Pi(освещение на 1-Wire) + MP751(управление) + ESP8266(сенсоры) + LAN(сенсоры)
-=: Если вам помогло моё сообщение, нажмите кнопку "Поблагодарить за сообщение автора: Vovix" (кнопка Спасибо) справа! :=-
pion365
Сообщения: 32
Зарегистрирован: Сб дек 10, 2016 7:10 pm

Re: Дизайн сцен 2

Сообщение pion365 »

Vovix писал(а):
pion365 писал(а): ...
У меня сразу попутный вопрос, даже два:
1. Как подкорректировать значение температуры погодного датчика? В самом датчике это сделать невозможно.
это можно сделать разными путями, например у меня (т.к. яндекс.погода практически умерла я перешел на использование данных OpenWeatherMap)
есть класс Weather в котором есть объект Izhevsk у которого есть метод 10days
который запускается в свою очередь из метода onNewHour
Код метода (это далеко не лучшая реализация):
Честно сказать, ничего не понял. Не программист я, увы. Какой код куда вставлять - только по наитию. Всю голову уже сломал.
Конкретнее - температуру одного датчика нужно уменьшить на 2 градуса. Что нужно сделать с свойствами этого датчика? Чтобы система отображала другое значение.
Всю ветку перерыл, нашёл только про округление, про коррекцию нету.
ARMBIAN на Orange PiPC
Аватара пользователя
Vovix
Сообщения: 1155
Зарегистрирован: Пн янв 27, 2014 1:43 am
Откуда: г.Ижевск
Контактная информация:

Re: Дизайн сцен 2

Сообщение Vovix »

pion365 писал(а):
Vovix писал(а):
pion365 писал(а): ...
У меня сразу попутный вопрос, даже два:
1. Как подкорректировать значение температуры погодного датчика? В самом датчике это сделать невозможно.
это можно сделать разными путями, например у меня (т.к. яндекс.погода практически умерла я перешел на использование данных OpenWeatherMap)
есть класс Weather в котором есть объект Izhevsk у которого есть метод 10days
который запускается в свою очередь из метода onNewHour
Код метода (это далеко не лучшая реализация):
Честно сказать, ничего не понял. Не программист я, увы. Какой код куда вставлять - только по наитию. Всю голову уже сломал.
Конкретнее - температуру одного датчика нужно уменьшить на 2 градуса. Что нужно сделать с свойствами этого датчика? Чтобы система отображала другое значение.
Всю ветку перерыл, нашёл только про округление, про коррекцию нету.

Тогда увы! Чтобы вам помочь нужно видеть вашу систему и (или) иметь больше "входных данных" от вас, но увы активной помощью заниматься не смогу!
Я ответил как смог!
Возможно вам ответят более правильно тут ниже!

з.ы. на сколько я теперь понял из вашего вопроса у вас именно датчик а не данные погоды!
просто задайте вопрос более полно и развернуто, например
1) как образом получаете температуру (1-wire напрямую? ESP ? и.т.п.)?
2) в какой объект пишете?
3) каким методом или скриптом?
4) что конкретно хотите от этого значения?
и т.д.

з.ы. з.ы. :-) а на второй вопрос вам ответ понятен?
Мой -CONNECT-
Windows 7(PHP 7.2) + Raspberry Pi(освещение на 1-Wire) + MP751(управление) + ESP8266(сенсоры) + LAN(сенсоры)
-=: Если вам помогло моё сообщение, нажмите кнопку "Поблагодарить за сообщение автора: Vovix" (кнопка Спасибо) справа! :=-
pion365
Сообщения: 32
Зарегистрирован: Сб дек 10, 2016 7:10 pm

Re: Дизайн сцен 2

Сообщение pion365 »

Vovix писал(а): иметь больше "входных данных" от вас,
Объект класса ESP8266, одно из свойств - текущая температура. Всё по-простому.

Можете показать на примере округления:
sg(("Izhevsk.mcD".$i."_Temp_0"),round(gg("ow_day".$i.".temp_day"))); - как вместо округления использовать математическое действие? Вычитание? Какая команда?
ARMBIAN на Orange PiPC
Аватара пользователя
Vovix
Сообщения: 1155
Зарегистрирован: Пн янв 27, 2014 1:43 am
Откуда: г.Ижевск
Контактная информация:

Re: Дизайн сцен 2

Сообщение Vovix »

pion365 писал(а):
Vovix писал(а): иметь больше "входных данных" от вас,
Объект класса ESP8266, одно из свойств - текущая температура. Всё по-простому.

Можете показать на примере округления:
sg(("Izhevsk.mcD".$i."_Temp_0"),round(gg("ow_day".$i.".temp_day"))); - как вместо округления использовать математическое действие? Вычитание? Какая команда?

... ну вот уже лучше с вопросом! :-)

для получения данных из ESP у вас есть сценарий espdata

в нем есть код PHP для распихивания значений по свойствам объектов

там в какую-то переменную вы получаете значение температуры, например так:

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

$dsw1=$params['dsw1']; 


потом (ниже в коде) вероятно делается проверка на пустое значение, напрмер так:

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

if ($dsw1!="")     { sg(($idesp.".dsw1"),$dsw1);         } 
тогда можно добавить в код, т.е. изменять значение перед его прописыванием в объект, например будет так:

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

if ($dsw1!="")     {
              $dsw1 = $dsw1 - 2;
              sg(($idesp.".dsw1"),$dsw1);
         }
 
Мой -CONNECT-
Windows 7(PHP 7.2) + Raspberry Pi(освещение на 1-Wire) + MP751(управление) + ESP8266(сенсоры) + LAN(сенсоры)
-=: Если вам помогло моё сообщение, нажмите кнопку "Поблагодарить за сообщение автора: Vovix" (кнопка Спасибо) справа! :=-
Ответить