адаптировал для своих задач выложенные там сцены - у меня планшет висит в вертикальном положении
Но вот сцена погоды мне не очень понравилась - результат своего творчества выкладываю
Сразу оговорюсь - анимация страниц мне не нужна - если кому надо - сами возитесь
![Smile :)](./images/smilies/icon_e_smile.gif)
установленный модуль Погода от OpenWeatherMap
Установка:
1. Создаем сценарий calculate_realfeel
Код: Выделить всё
$t = gg('ow_day0.temperature'); // температура на улице
$h = gg('ow_day0.humidity'); // влажность на улице
$w = gg('ow_day0.wind_speed'); // данные о ветре из прогноза OpenWeather
$w=$w*3.6/1.609;//m/s -> mph
$tF = $t *1.8+32; // перевод температуры в Farenheit
if ($t > 26.6){
// Считаем HeatIndex по Rothfusz
$_f=-42.379 + 2.04901523*$tF + 10.14333127*$h - 0.22475541*$tF*$h - 0.00683783*$tF*$tF - 0.05481717*$h*$h + 0.00122874*$tF*$tF*$h + 0.00085282*$tF*$h*$h -0.00000199*$tF*$tF*$h*$h;
if(($tF<112)&&($h<13)){
// If the RH is less than 13% and the temperature is between 80 and 112 degrees F, then the following adjustment is subtracted from HI:
$_f=$_f-((13-$h)/4)*sqrt((17-abs($tF-95.))/17);
}
if(($tF<88)&&($h>85)){
// On the other hand, if the RH is greater than 85% and the temperature is between 80 and 87 degrees F, then the following adjustment is added to HI:
//ADJUSTMENT = [(RH-85)/10] * [(87-T)/5]
$_f=$_f+(($h-85)/10)*((87-$tF)/5);
}
}else if ($t <= 10){
// Считаем фактор WindChild
$_f = 35.74+(0.6215*$tF)-(35.75*pow($w,0.16))+((0.4275*$tF)*pow($w,0.16));
}else{
//считаем по упрощенной формуле
$_f = 0.5*($tF+61+(($tF-68)*1.2)+($h*0.094));
}
// переводим в цельсии
$rf = round(($_f-32)/1.8,0);
//и пропишем значение
sg("ThisComputer.reelFeel",$rf);
// внесем дни недели прогноза
$numD=gg("ow_setting.forecast_interval");
$day[0]="ВСК";
$day[1]="ПНД";
$day[2]="ВТР";
$day[3]="СРД";
$day[4]="ЧТВ";
$day[5]="ПТН";
$day[6]="СБТ";
for ($i = 1; $i < $numD; $i++) {
$dayNum = date("w", strtotime($date .' +'.$i.' day'));
$name = $day[date("w", strtotime($date .' +'.$i.' day'))];
sg("ow_day".$i.".name", $name);
}
3. onNewHour привести к следующему виду (добавить):
Код: Выделить всё
$h=(int)date('G',time());
if (gg('ThisComputer.DateD')!=date("d", time())) {
$day[0]="воскресенье";
$day[1]="понедельник";
$day[2]="вторник";
$day[3]="среда";
$day[4]="четверг";
$day[5]="пятница";
$day[6]="суббота";
$month[1]="января";
$monthAlt[1]="ЯНВАРЬ";
$monthShrt[1]="ЯНВ";
$month[2]="февраля";
$monthAlt[2]="ФЕВРАЛЬ";
$monthShrt[2]="ФЕВ";
$month[3]="марта";
$monthAlt[3]="МАРТ";
$monthShrt[3]="МАРТ";
$month[4]="апреля";
$monthAlt[4]="АПРЕЛЬ";
$monthShrt[4]="АПР";
$month[5]="мая";
$monthAlt[5]="МАЙ";
$monthShrt[5]="МАЙ";
$month[6]="июня";
$monthAlt[6]="ИЮНЬ";
$monthShrt[6]="ИЮНЬ";
$month[7]="июля";
$monthAlt[7]="ИЮЛЬ";
$monthShrt[7]="ИЮЛЬ";
$month[8]="августа";
$monthAlt[8]="АВГУСТ";
$monthShrt[8]="АВГ";
$month[9]="сентября";
$monthAlt[9]="СЕНТЯБРЬ";
$monthShrt[9]="СЕН";
$month[10]="октября";
$monthAlt[10]="ОКТЯБРЬ";
$monthShrt[10]="ОКТ";
$month[11]="ноября";
$monthAlt[11]="НОЯБРЬ";
$monthShrt[11]="НБР";
$month[12]="декабря";
$monthAlt[12]="ДЕКАБРЬ";
$monthShrt[12]="ДЕК";
sg("ThisComputer.DateD",date( "d", time()));
sg("ThisComputer.DateM",date( "m", time()));
sg("ThisComputer.DateY",date( "Y", time()));
sg("ThisComputer.Date",date( "d.m.Y", time()));
sg("ThisComputer.Day",$day[date("w")]);
sg("ThisComputer.Month",$month[date("n")]);
sg("ThisComputer.MonthAlt",$monthAlt[date("n")]);
sg("ThisComputer.MonthShrt",$monthShrt[date("n")]);
}
$h=(int)date('G',time());
//часы с нулем впереди
if($h<10)
{$h1="0".$h;}
else
{$h1=$h;};
sg("ThisComputer.timeHH",$h1);
5. импортировать сцену:
для планшета: для MajorDroid разрешение экрана FullHD:
![Smile :)](./images/smilies/icon_e_smile.gif)
Файл + элементы + SQL + картинки https://yadi.sk/d/sV9RHqQbrWi2i
Элементы сцен
В системе MJD внесены дополнительно:
- Используется модуль OpenWeatherMap с прогнозом на 5 дней
- Сокращение дней недели (onNewHour)
- Расчет RealFeel
Код: Выделить всё
// раскидываем дату и время если изменилось в Windows
$h=(int)date('G',time());
if (gg('ThisComputer.DateD')!=date("d", time())) {
$day[0]="воскресенье";
$day[1]="понедельник";
$day[2]="вторник";
$day[3]="среда";
$day[4]="четверг";
$day[5]="пятница";
$day[6]="суббота";
$month[1]="января";
$monthAlt[1]="ЯНВАРЬ";
$monthShrt[1]="ЯНВ";
$month[2]="февраля";
$monthAlt[2]="ФЕВРАЛЬ";
$monthShrt[2]="ФЕВ";
$month[3]="марта";
$monthAlt[3]="МАРТ";
$monthShrt[3]="МАРТ";
$month[4]="апреля";
$monthAlt[4]="АПРЕЛЬ";
$monthShrt[4]="АПР";
$month[5]="мая";
$monthAlt[5]="МАЙ";
$monthShrt[5]="МАЙ";
$month[6]="июня";
$monthAlt[6]="ИЮНЬ";
$monthShrt[6]="ИЮНЬ";
$month[7]="июля";
$monthAlt[7]="ИЮЛЬ";
$monthShrt[7]="ИЮЛЬ";
$month[8]="августа";
$monthAlt[8]="АВГУСТ";
$monthShrt[8]="АВГ";
$month[9]="сентября";
$monthAlt[9]="СЕНТЯБРЬ";
$monthShrt[9]="СЕН";
$month[10]="октября";
$monthAlt[10]="ОКТЯБРЬ";
$monthShrt[10]="ОКТ";
$month[11]="ноября";
$monthAlt[11]="НОЯБРЬ";
$monthShrt[11]="НБР";
$month[12]="декабря";
$monthAlt[12]="ДЕКАБРЬ";
$monthShrt[12]="ДЕК";
sg("ThisComputer.DateD",date( "d", time()));
sg("ThisComputer.DateM",date( "m", time()));
sg("ThisComputer.DateY",date( "Y", time()));
sg("ThisComputer.Date",date( "d.m.Y", time()));
sg("ThisComputer.Day",$day[date("w")]);
sg("ThisComputer.Month",$month[date("n")]);
sg("ThisComputer.MonthAlt",$monthAlt[date("n")]);
sg("ThisComputer.monthShrt",$monthShrt[date("n")]);
}
- Разобраться с фонами - к сожалению background-image: в CSS пока мне не удалось динамически подменять как происходит с иконками при смене прогноза, и фон изменится лишь при перезагрузке страницы
- Пока не удалось прописать стрелку компаса направления ветра
- буду рад помощи.
PS: предлагаю выкладывать свои наборы фонов/иконок в этой теме
![Smile :)](./images/smilies/icon_e_smile.gif)
Решение проблемы с импортом