Страница 1 из 1

[Сценарий] Предупреждение о дожде

Добавлено: Пт июл 04, 2014 3:09 pm
PAV
Вот такой, по моему мнению, изящный штришок внес в парсинг погоды:

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

$rain1=gg("Moscow.Type");
$rain2=$xml->day[0]->day_part[0]->weather_type;
$rain3=$xml->day[0]->day_part[1]->weather_type;
$rain4=$xml->day[0]->day_part[2]->weather_type;
$rain5=$xml->day[0]->day_part[3]->weather_type;
$rain=($rain1. $rain2. $rain3. $rain4. $rain5);

$pos = strpos($rain, "дожд");
if ($pos === false) {
    sg('Moscow.Rain',0);
    } else {
    sg('Moscow.Rain',1);
    }
Теперь при проговаривании погоды получается так:

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

  if (gg("Moscow.Rain") > 0){
    say("Внимание, обещают дождь, не забудьте зонтик");
    }

Re: Предупреждение о дожде

Добавлено: Сб янв 31, 2015 12:45 pm
Amarok
А в какое место лучше вставить?

Re: Предупреждение о дожде

Добавлено: Чт фев 26, 2015 2:32 pm
Bagir
Отличная идея! Обязательно добавлю в свои настройки сегодня.
BlackWarrior писал(а):А в какое место лучше вставить?
Тут прежде всего надо определиться со схемой получения, хранения и обработки данных. Я пока что думаю так:
1. Раз в час мы опрашиваем xml Яндекса (да или любой другой источник), и записываем все что нам интересно в объекты класса Погода.
2. По Заданному условию мы проговариваем погоду.
Условие на дождь можно добавить как в первую часть так и во вторую. Но надо еще учесть, что эта информация весьма приоритета, и раз уж нам Яндекс дает сведения на ближайшее время, то при появлении упоминания о дожде надо бы это сразу сказать.
Надо будет начать делать, а там и ответы сами придут )

Re: Предупреждение о дожде

Добавлено: Чт фев 26, 2015 3:53 pm
Amarok
Bagir писал(а):Надо будет начать делать, а там и ответы сами придут )
Опрашиваю погоду раз в 30 минут. Код впентерил прямо в скрипт с небольшой поправочкой:
SPOILERSPOILER_SHOW

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

$rain1=gg("NTura.Type");
$rain2=$xml->day[0]->day_part[0]->weather_type;
$rain3=$xml->day[0]->day_part[1]->weather_type;
$rain4=$xml->day[0]->day_part[2]->weather_type;
$rain5=$xml->day[0]->day_part[3]->weather_type;
$rain=($rain1. $rain2. $rain3. $rain4. $rain5);

$pos = strpos($rain, "дожд");
if ($pos === false) {
    sg('NTura.Rain',0);
    } else {
    sg('NTura.Rain',1);
    say("Возможен дождь",2);
    }
То есть, если дождь, то сразу говорим. Может и кривой вариант, но... дождя то еще не было у нас, будет и проверим)

Re: Предупреждение о дожде

Добавлено: Ср мар 11, 2015 11:05 am
PAV
На самом деле у меня Алиса предупреждает о дожде, когда в заданном временном промежутке срабатывает датчик движения. Например с 7-45 до 8-00 (уходит жена) и с 8-00 до 9:00 (ухожу я) при срабатывании датчика движения около входной двери. В идеале, когда дверь открываешь.
Также предупреждает во время утреннего доклада.