Страница 5 из 15
Re: [Дизайн] Сцена "Пурпур"
Добавлено: Чт апр 09, 2020 1:25 pm
Divan
Создал инструкции, они в папке Инструкции, ссылка в шапке.
Список инструкции:
1) Как передать значения датчика влажности в тему Пурпур
2) Как передать значения датчика температуры в тему Пурпур
3) Как передать значения датчика движения в тему Пурпур
4) Как передать значения для системных значков
Re: [Дизайн] Сцена "Пурпур"
Добавлено: Чт апр 09, 2020 1:41 pm
buba911
geor писал(а): Чт апр 09, 2020 6:52 am
tar упакован в кодировке, которую малина не понимает. В принципе можно все сделать руками.
Вдруг кому понадобиться, чтобы не наступать на мои грабли.
Что-то в официалином имидже 4.43 не так.
Поставил МЖДМ на Распберри руками скриптом "immortalserg/installmd". после этого сцена встала "как родная" без капризов.
Re: [Дизайн] Сцена "Пурпур"
Добавлено: Чт апр 09, 2020 4:35 pm
Divan
Внес исправления в тему Пурпур. Новую версию установщика темы Пурпур можно скачать по той же ссылке, в шапке.
1) Исправил ошибку с луной (вместо имени фазы, был номер фазы, а их 16 позиций, а названии и иконки луны - 8 позиции).
2) Изменил кнопку "Ввод" для пин кода.

- Добавлена кнопка ввод.JPG (34.88 КБ) 6368 просмотров
Иконки от пин кода загружаются сюда.
Название иконок для пин кода не переименовывать!!!.

- иконка пин кода.jpg (57.99 КБ) 6368 просмотров
Нужно удалить свойство и метод MoonPhase, добавить свойство MoonPhaseName и метод mMoonPhaseName. В метод mMoonPhaseName
вставить код. Добавил инструкцию в архив.
Код: Выделить всё
if ($this->getProperty('MoonPhaseName') == 'Новолуние') {
$this->setProperty('MoonPhase', 'MoonPhase01');
} else if ($this->getProperty('MoonPhaseName') == 'Растущая Луна') {
$this->setProperty('MoonPhase', 'MoonPhase02');
} else if ($this->getProperty('MoonPhaseName') == 'Первый квартал') {
$this->setProperty('MoonPhase', 'MoonPhase03');
} else if ($this->getProperty('MoonPhaseName') == 'Растущая Луна') {
$this->setProperty('MoonPhase', 'MoonPhase04');
} else if ($this->getProperty('MoonPhaseName') == 'Полнолуние') {
$this->setProperty('MoonPhase', 'MoonPhase05');
} else if ($this->getProperty('MoonPhaseName') == 'Убывающая луна') {
$this->setProperty('MoonPhase', 'MoonPhase06');
} else if ($this->getProperty('MoonPhaseName') == 'Третий квартал') {
$this->setProperty('MoonPhase', 'MoonPhase07');
} else if ($this->getProperty('MoonPhaseName') == 'Убывающий полумесяц') {
$this->setProperty('MoonPhase', 'MoonPhase08');
}
Re: [Дизайн] Сцена "Пурпур"
Добавлено: Чт апр 09, 2020 7:23 pm
Andrei1401
Извиняюсь за тупой вопрос. А где вообще должна отображаться эта фаза луны?
Re: [Дизайн] Сцена "Пурпур"
Добавлено: Чт апр 09, 2020 7:44 pm
Divan
На главной странице ). Это встроенная функция. Если день - солнце, если сумерки и ночь - луна.

- 1.JPG (41.46 КБ) 6329 просмотров
Фаза луны

- фаза луны.JPG (35.59 КБ) 6329 просмотров
Re: [Дизайн] Сцена "Пурпур"
Добавлено: Чт апр 09, 2020 9:19 pm
Andrei1401
Чет у мена до сих пор солнце светит

Re: [Дизайн] Сцена "Пурпур"
Добавлено: Пт апр 10, 2020 4:20 pm
Divan
Чтобы менялось солнце на луну и обратно, нужно менять в свойстве TimeDay значения sun\moon.
Когда в свойстве TimeDay стоит значение sun

- солнце.JPG (12.5 КБ) 6234 просмотра

- солнце-картинка.JPG (36.62 КБ) 6234 просмотра
Когда в свойстве TimeDay стоит значение moon

- луна.JPG (12.51 КБ) 6234 просмотра

- луна-картинка.JPG (37.95 КБ) 6234 просмотра
Найдите класс OperationalModes и объект DarknessMode, создайте метод setStatus и вставьте код

- метод сумерки.jpg (37.99 КБ) 6233 просмотра
Код в блокли

- код блокли в сумерках.JPG (62.75 КБ) 6233 просмотра
Код PHP
Код: Выделить всё
if ($this->getProperty('active') == 1) {
$this->setProperty('title', 'Темное время суток');
setGlobal('SysInfo.TimeDay', 'moon');
say('Наступило темное время суток', 2);
} else if ($this->getProperty('active') == 0) {
$this->setProperty('title', 'Светлое время суток');
setGlobal('SysInfo.TimeDay', 'sun');
say('Наступило светлое время суток', 2);
}
Метод
onNewHour
Код: Выделить всё
if (timeBetween(getGlobal('SunRiseTime'),getGlobal('SunSetTime')) && getGlobal('isDark')=="1") {
setGlobal("isDark",0);
callMethod('DarknessMode.deactivate');
} elseif (!timeBetween(getGlobal('SunRiseTime'),getGlobal('SunSetTime')) && getGlobal('isDark')!="1") {
setGlobal("isDark",1);
callMethod('DarknessMode.activate');
}
Re: [Дизайн] Сцена "Пурпур"
Добавлено: Пт апр 10, 2020 10:49 pm
buba911
Найдите класс OperationalModes и объект DarknessMode, создайте метод setStatus и вставьте код
А , что запускает метод setStatus ?
Re: [Дизайн] Сцена "Пурпур"
Добавлено: Пт апр 10, 2020 11:12 pm
Divan
buba911 писал(а): Пт апр 10, 2020 10:49 pm
Найдите класс OperationalModes и объект DarknessMode, создайте метод setStatus и вставьте код
А , что запускает метод setStatus ?
метод setStatus проверяет активность DarknessMode.active:
если DarknessMode.active = 0 - выставляется значение sun в свойстве TimeDay
если DarknessMode.active = 1 - выставляется значение moon в свойстве TimeDay
Re: [Дизайн] Сцена "Пурпур"
Добавлено: Сб апр 11, 2020 8:54 pm
Divan
Создал панель управления потолочной люстрой YeelightJiaoyue650 и управление мотором Xiaomi. Как работает управление шторой, можете посмотреть
видео. Кнопки и шторы в векторной и растровой графике, вы их можете найти по ссылке в шапке, в папке "Файлы Corel", сами иконки лежат в папке "Иконки". Верхние полоски, это индикаторы статуса устройства в сети. Можете к себе импортировать или всю сцену или элементы, они находятся в папке "Импорт деталей для сцены", в архиве Сцена Пурпур - комната. Для ползунка открывания\закрывания штор, я выставил шаг в 10 единиц (0-10-20-30-40-50-60-70-80-90-100).
онлайн - зеленый
оффлайн - оранжевый
Общий вид управления

- Общий вид управления.JPG (130.05 КБ) 6136 просмотров
К этим объектам привязаны блоки управления

- YeelightJiaoyue650.JPG (32.84 КБ) 6136 просмотров

- XiaomiCurtainMotor.JPG (28.62 КБ) 6136 просмотров
Куда загружать иконки

- Куда загружать иконки.jpg (52.64 КБ) 6136 просмотров