Дизайн сцен 2

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

Модератор: immortal

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

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

Сообщение immortal » Сб фев 04, 2017 8:35 am

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

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

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

Сообщение lanket » Сб фев 04, 2017 5:18 pm

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
Откуда: г.Ижевск
Благодарил (а): 60 раз
Поблагодарили: 531 раз
Контактная информация:

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

Сообщение Vovix » Сб фев 04, 2017 5:34 pm

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

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

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

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

вот и делись после этого... !!!???
За это сообщение автора Vovix поблагодарили (всего 2):
vladragor (Пн фев 27, 2017 1:08 pm) • wozowik (Чт фев 15, 2018 11:07 am)
Рейтинг: 2.33%
Мой -CONNECT-
Windows 7(PHP 7.2) + Raspberry Pi(освещение на 1-Wire) + MP751(управление) + ESP8266(сенсоры) + LAN(сенсоры)
-=: Если вам помогло моё сообщение, нажмите кнопку "Поблагодарить за сообщение автора: Vovix" (кнопка Спасибо) справа! :=-
pion365
Сообщения: 32
Зарегистрирован: Сб дек 10, 2016 7:10 pm
Благодарил (а): 6 раз
Поблагодарили: 1 раз

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

Сообщение pion365 » Сб фев 04, 2017 6:57 pm

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

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

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

Сообщение lanket » Сб фев 04, 2017 7:46 pm

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
Откуда: г.Ижевск
Благодарил (а): 60 раз
Поблагодарили: 531 раз
Контактная информация:

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

Сообщение Vovix » Сб фев 04, 2017 11:05 pm

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:
СпойлерПоказать

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

.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 КБ) 8823 просмотра
TempSensor4.code_color = 2(зелёный - это норма)
Скриншот 2017-02-04 23.45.28.png
Скриншот 2017-02-04 23.45.28.png (164.86 КБ) 8823 просмотра
TempSensor4.code_color = 0 (если этот элемент не используется, не нужен)
Скриншот 2017-02-04 23.54.22.png
Скриншот 2017-02-04 23.54.22.png (165.55 КБ) 8823 просмотра
За это сообщение автора Vovix поблагодарили (всего 4):
pion365 (Вс фев 05, 2017 7:43 am) • samum (Вс фев 05, 2017 2:04 pm) • server (Вс фев 05, 2017 2:16 pm) • tolyan2809 (Пн авг 15, 2022 9:56 am)
Рейтинг: 4.65%
Мой -CONNECT-
Windows 7(PHP 7.2) + Raspberry Pi(освещение на 1-Wire) + MP751(управление) + ESP8266(сенсоры) + LAN(сенсоры)
-=: Если вам помогло моё сообщение, нажмите кнопку "Поблагодарить за сообщение автора: Vovix" (кнопка Спасибо) справа! :=-
pion365
Сообщения: 32
Зарегистрирован: Сб дек 10, 2016 7:10 pm
Благодарил (а): 6 раз
Поблагодарили: 1 раз

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

Сообщение pion365 » Вс фев 05, 2017 3:49 pm

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

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

Сообщение Vovix » Вс фев 05, 2017 8:15 pm

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
Благодарил (а): 6 раз
Поблагодарили: 1 раз

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

Сообщение pion365 » Вс фев 05, 2017 8:31 pm

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
Откуда: г.Ижевск
Благодарил (а): 60 раз
Поблагодарили: 531 раз
Контактная информация:

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

Сообщение Vovix » Вс фев 05, 2017 8:45 pm

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);
         }
 
За это сообщение автора Vovix поблагодарил:
tolyan2809 (Пн авг 15, 2022 9:56 am)
Рейтинг: 1.16%
Мой -CONNECT-
Windows 7(PHP 7.2) + Raspberry Pi(освещение на 1-Wire) + MP751(управление) + ESP8266(сенсоры) + LAN(сенсоры)
-=: Если вам помогло моё сообщение, нажмите кнопку "Поблагодарить за сообщение автора: Vovix" (кнопка Спасибо) справа! :=-
Ответить