Страница 20 из 55

Re: Модуль - Погода от OpenWeatherMap

Добавлено: Вт дек 06, 2016 3:38 pm
Denis_k
Denis_k писал(а):
zoz писал(а):как вариант закат и рассвет можно просто переназначить с конвертацией:

sg('ThisComputer.SunRiseTime', date('H:i',gg('ow_fact.sunrise')));
sg('ThisComputer.SunSetTime', date('H:i',gg('ow_fact.sunset')));

ну и удалить их в веб переменных.
А где это делается?
Отвечаю сам себе:
Эти строки добавляются в
Timer-> onNewMinute, например после строки

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

setGlobal('timeNow',date('H:i')); 
PS. Естественно все глобальные переменные удалены за ненадобностью.

Re: Модуль - Погода от OpenWeatherMap

Добавлено: Пн дек 19, 2016 5:02 pm
Cashmarik
Здравствуйте, не работает модуль не показывает температуру, год стоит 1970 пишет такие ошибки:

Warning: file_get_contents(http://openweathermap.org/img/w/.png): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in C:\_majordomo\htdocs\modules\app_openweather\app_openweather.class.php on line 422

Warning: file_get_contents(http://openweathermap.org/img/w/.png): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in C:\_majordomo\htdocs\modules\app_openweather\app_openweather.class.php on line 422

Warning: file_get_contents(http://openweathermap.org/img/w/.png): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in C:\_majordomo\htdocs\modules\app_openweather\app_openweather.class.php on line 422

Re: Модуль - Погода от OpenWeatherMap

Добавлено: Ср дек 21, 2016 12:09 pm
xxxShahxxx
Надо получить API код на сайте OpenWeather.

Re: Модуль - Погода от OpenWeatherMap

Добавлено: Чт дек 22, 2016 3:29 pm
xxxShahxxx
xor писал(а):Пользуюсь функциями (добавил в файл C\_majordomo\htdocs\lib\my_funcs.php)
Народ подскажите по этому поводу. как настроить отображение направления ветра буквами по этому принципу? создать файлик с таким кодом? А потом что дальше с ним делать? Куда и к чему прикреплять. вообще не могу понять как это прикрутить.

Re: Модуль - Погода от OpenWeatherMap

Добавлено: Чт дек 22, 2016 3:42 pm
xor
Создаете файл с описанием вашей функции, выкладывание по указанному адресу. Перезапускаете МЖДМ, пользуетесь функцией в скриптах, консоли, методах, для заполнения свойств.

Отправлено с моего Nexus 5 через Tapatalk

Re: Модуль - Погода от OpenWeatherMap

Добавлено: Чт дек 22, 2016 5:16 pm
Alex_kn
.. а можно для чайников по подробнее ... пожалуйста..

Re: Модуль - Погода от OpenWeatherMap

Добавлено: Чт дек 22, 2016 10:56 pm
xor
Допустим, есть у погодного объекта Погода свойство Направление_ветра_в_градусах. Нам нужно получить свойство Название_направления_ветра.
Расскажу как сделано у меня, то же самое можно делать по-другому.
Давно уже удалил модуль OpenWeather, но в папке у меня обнаружился файл htdocs/lib/OpenWeather/OpenWeather.php
Там (респект автору) обнаружилось много полезняшек, в том числе и функция

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

   /**
    * Get wind direction name by direction in degree 
    * @param $degree Degree
    * @return
    */
   private static function GetWindDirection
     ($degree)
   {
      $windDirection = ['<#LANG_N#>', '<#LANG_NNE#>', '<#LANG_NE#>', '<#LANG_ENE#>', '<#LANG_E#>', '<#LANG_ESE#>', '<#LANG_SE#>', '<#LANG_SSE#>', '<#LANG_S#>', '<#LANG_SSW#>', '<#LANG_SW#>', '<#LANG_WSW#>', '<#LANG_W#>', '<#LANG_WNW#>', '<#LANG_NW#>', '<#LANG_NNW#>', '<#LANG_N#>'];
         
      return $windDirection[round($degree / 22.5)];
   } 
, какую я и подогнал под себя

myWindDirFull($degree) - полно
myWindDirection($degree) - кратко
Найди 146 отличий))Показать

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

  /**
    * Get wind direction name by direction in degree 
    * @param mixed $degree Wind degree
    * @return string
    */
    function myWindDirection($degree)
   {
      $windDirection = ['С', 'ССВ', 'СВ', 'ВСВ', 'В', 'ВЮВ', 'ЮВ', 'ЮЮВ', 'Ю', 'ЮЮЗ', 'ЮЗ', 'ЗЮЗ', 'З', 'ЗСЗ', 'СЗ', 'ССЗ', 'С'];
      $direction = $windDirection[round($degree / 22.5)];
      
      return $direction;
   }

  /**
    * Get wind direction name by direction in degree 
    * @param mixed $degree Wind degree
    * @return string
    */
    function myWindDirFull($degree)
   {
      $windDirection = ['Северный', 'Северо-северо-восточный', 'Северо-восточный', 'Восточно-северо-восточный', 'Восточный', 'Восточно-юго-восточный', 'Юго-восточный', 'Юго-юго-восточный', 'Южный', 'Юго-юго-западный', 'Юго-западный', 'Западно-юго-западный', 'Западный', 'Западно-северо-западный', 'Северо-западный', 'Северо-северо-западный', 'Северный'];
      $direction = $windDirection[round($degree / 22.5)];
      
      return $direction;
}
Для своих функций у меня заведен файлик c:\_majordomo\htdocs\lib\my_funcs.php,
куда я всякую вкусность складываю - туда и добавляем новые наши функции. Следим, чтобы файл сохранялся в кодировке UTF-8 without BOM, в начале <?php

Перезагружаем МЖДМ, проверяем в консоли myWindDirection(10)
Если заработало, можем определить свойство Погода.Название_направления_ветра
Там, где обновляется свойство Погода.Направление_ветра_в_градусах дописываем

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

setGlobal('Погода.Название_направления_ветра',myWindDirFull(getGlobal(Погода.Направление_ветра_в_градусах)));
 
Для того, чтобы получить краткое наименование, соотв. используем функцию myWindDirection

Re: Модуль - Погода от OpenWeatherMap

Добавлено: Сб дек 24, 2016 12:15 am
C_3AXAPOB
Проблема!
Через некоторое время после установки модуль забивает кодом:
СпойлерПоказать
include_once(DIR_MODULES . 'app_openweather/app_openweather.class.php');
$openweather = new app_openweather();
$openweather->get_weather(gg('ow_city.id')); //START openweather module
$updateTime = gg('ow_setting.updateTime');
if($updateTime > 0)
{
$count = gg('ow_setting.countTime');
if($count >= $updateTime)
{
include_once(DIR_MODULES . 'app_openweather/app_openweather.class.php');
$app_openweather = new app_openweather();
$app_openweather->get_weather(gg('ow_city.id'));
sg('ow_setting.countTime', 1);
}
else
{
$count++;
sg('ow_setting.countTime', $count);
}
}
// END openweather module//START openweather module
весь метод onNewHour, больше 1000 строк!
Что делать?

Re: Модуль - Погода от OpenWeatherMap

Добавлено: Сб дек 24, 2016 1:01 am
Ivan
Да задолбало это если чесно. Нужно править модуль.
Автор. Сделай обновление через циклы пожалуйста

Re: Модуль - Погода от OpenWeatherMap

Добавлено: Пн янв 09, 2017 5:02 pm
Varrcan
Не могу установить модуль, вываливается ошибка SQL.
Строка 680:

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

SQLExec("insert into 
COUNTRY(COUNTRY_ID, COUNTRY_GUID, COUNTRY_NAME, LM_DATE, COUNTRY_CODE, COUNTRY_PHONE_CODE, LATITUDE, LONGITUDE) 
values (19, '3B71F5B5-2AC2-9154-404D-191ABFBC4729', 'Belgium', 'BE', NOW(), '32', NULL, NULL);");
 
'BE' и NOW() нужно поменять местами