Вывод погоды в Conky (Настройка с помощью скриптов)

Любые разговоры которые хоть как-то связаны с тематикой форума

Модератор: Модераторы разделов

Аватара пользователя
ormorph
Сообщения: 3214
ОС: Gentoo

Re: Вывод погоды в Conky

Сообщение ormorph »

Хм ну можно сделать ваще все очень просто
инфу можно просто скидывать в опредиленные файлы а уже с них conky будет считывать инфу командой cat
тоесть один файл для отображения тучки, другой для температуры и т.д.
тогда весь код по идее можно поместить в один скрипт, который и будет получать данные погоды и записывать инфу в разные файлы.
обновление cat можно проставить где то 5 минут.
а далее какие плюсы:
скрипт получения данных погоды и обработки, можно запускать в ручную, либо в conky, либо в cron
Спасибо сказали:
Аватара пользователя
butch
Сообщения: 331
ОС: :OC

Re: Вывод погоды в Conky

Сообщение butch »

я таки разобрался с if_match для изменения цвета иконки состояния погоды.
нифига оно не пашет =))
рулит что в этом духе:

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

${if_existing /home/butch/.conky/w.txt h}${color 62627D}${font Weather:size=32}${execi 300 cat $HOME/.conky/w.txt}${font}$endif${if_existing /home/butch/.conky/w.txt A}${color yellow}${font Weather:size=32}${execi 300 cat $HOME/.conky/w.txt}${font}$endif

в $HOME/.conky/w.txt содержится результат выполнения condition.sh (обновляется по крону, сразу после получения данных с гисметео)
if_existing $HOME/.conky/w.txt h - проверить соответсвие содержания в файле (не только его существование)
кормить иф_экзистин $HOME не получилось. прилось путь полностью написать для него.

более менее цвет подобрал только для тучек (седня дождливо у меня в казани =)

с солнышком вот так:
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Спасибо сказали:
Аватара пользователя
ormorph
Сообщения: 3214
ОС: Gentoo

Re: Вывод погоды в Conky

Сообщение ormorph »

Да не плохо получилось)
Спасибо сказали:
Аватара пользователя
Dunris
Сообщения: 295
Статус: ...
ОС: Archlinux

Re: Вывод погоды в Conky

Сообщение Dunris »

butch, да интересная затейка:) Видимо осуществили даже без рестарта коньков, что очень большой плюс=)
P.S. Я тут пару дней назад начал знакомиться с Perl, только что попробовал переписать скрипт (который в коньках отображается текстом обычным шрифтом). Впринципе то же самое, но отказался от использования файла. Просто загружается страничка, берется нужная инфа - всё. Если кому интересно выложу, только строго не судите, я в Perl совсем зеленый;)
Спасибо сказали:
Аватара пользователя
fletch
Сообщения: 24
ОС: Arch Linux

Re: Вывод погоды в Conky

Сообщение fletch »

http://informer.gismeteo.ru/
Проект закрыт. По всем вопросам обращайтесь в администрацию Gismeteo.ru.

Недолго музыка играла...
UPD
Раз уж гисметео прикрыли, что думаете насчет этого?
http://weather.co.ua/services/xml/
Судя по описанию на сайте и полному набору разработчика, вешь более чем достойная.
Спасибо сказали:
Аватара пользователя
ormorph
Сообщения: 3214
ОС: Gentoo

Re: Вывод погоды в Conky

Сообщение ormorph »

Хм они вроде на время прикрыли проект.
А так можно еще попробовать с http://rp5.ru

например: http://rp5.ru/xml/7960/ru погода в Таганроге
остается только подставить свои значения города после xml
Спасибо сказали:
Аватара пользователя
fletch
Сообщения: 24
ОС: Arch Linux

Re: Вывод погоды в Conky

Сообщение fletch »

ormorph писал(а):
02.07.2009 00:01
А так можно еще попробовать с http://rp5.ru

Да, тоже вариант. Единственный минус - прогноз дается только на 3:00 и 15:00. На http://weather.co.ua/ несколько удобнее - день/вечер/ночь.
Спасибо сказали:
Аватара пользователя
butch
Сообщения: 331
ОС: :OC

Re: Вывод погоды в Conky

Сообщение butch »

мдеее... я как раз собирался инфу запостить про модернизацию под аплет xfce general monitor =)
и тут на те =\
уж лучше поискать че нить более стабильно, наверное
Спасибо сказали:
Аватара пользователя
Dunris
Сообщения: 295
Статус: ...
ОС: Archlinux

Re: Вывод погоды в Conky

Сообщение Dunris »

Ну имхо для этого стоит выбрать:
yahoo.com
weather.com
gismeteo.ru, но другую страницу.
Что лучше я даже не знаю... Может, кто нибудь предложит не особо загруженную страницу с этих (хотя необязательно) сайтов. На подобие той что была. Или обработать rss-ленту.
Мы тут все равно более-менее одно делаем, все-таки лучше, когда основа скрипта у всех одинаковая;)
Спасибо сказали:
Аватара пользователя
Dunris
Сообщения: 295
Статус: ...
ОС: Archlinux

Re: Вывод погоды в Conky

Сообщение Dunris »

Вот, нашел вариант с погодой от yahoo.com. Погода довольна точна, возможно даже точнее гисметео (ИМХО). Единственный недостаток этой страницы - отсутстиве величин "давление" и "ветер", да погоды на другие дни и часы (кроме погоды на текущее время ничего там больше нет). Но, что не может не радовать, размер страницы еще меньше чем у предыдущей (rss-лента).
В ближайшие дни попробую что-нибудь сделать. Интересно что скажут люди. Кто пользовался старым скриптом высказывайте идеи, мнения...
Не хочется (мне например) чтоб такая темка совсем исчезла в небытие:)
Спасибо сказали:
Аватара пользователя
ormorph
Сообщения: 3214
ОС: Gentoo

Re: Вывод погоды в Conky

Сообщение ormorph »

Хм вот нашел еще неплохой сайт http://www.nepogoda.ru здесь погода на пять дней
например http://www.nepogoda.ru/russia/taganrog/rss.xml
плюсы при использовании rss очень похоже на конфиг с гисметео, который уже обсуждался, следовательно изменения в скрипте незначительные)
Спасибо сказали:
Аватара пользователя
ormorph
Сообщения: 3214
ОС: Gentoo

Re: Вывод погоды в Conky

Сообщение ormorph »

вот маленький пример на http://www.nepogoda.ru , немного измененного, ранее предложенного скрипта по гисметео

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

#!/bin/bash

curl -s http://www.nepogoda.ru/russia/taganrog/rss.xml | iconv -f CP1251 -t UTF-8 > ~/.conky/temp
cloud=$(sed -n 18p ~/.conky/temp | awk '{print$3$4$5}')
icon=1

case $cloud in
'Ясно,безосадков,'|'Малооблачно,безосадков,')
   icon='a'
;;
'Облачно,безосадков,'|'Пасмурно,безосадков,')
   icon='e'
;;
'Облачно,снег'|'Малооблачно,снег,')
   icon='e'
;;
'Пасмурно,снег,')
   icon='k'
;;
'Облачно,дождь,'|'Малооблачно,дождь,')
   icon='h'
;;
'Пасмурно,дождь,')
   icon='h'
;;
'Облачно,небольшойдождь,')
   icon='o'
;;
'Облачно,ливень'|'Пасмурно,ливень,')
   icon='g'
;;
'Пасмурно,гроза,')
   icon='i'
;;
esac

echo $icon >~/.conky/1
temper=$(sed -n 18p $HOME/.conky/temp | awk '{print$1"°C"}'|cut -c14-)
echo $temper >~/.conky/2
exit


файл ~/.conky/1 отображение облаков и т.п.
файл ~/.conky/2 отображение температуры на текущее время.

считываются в conky командой cat
Спасибо сказали:
Аватара пользователя
Dunris
Сообщения: 295
Статус: ...
ОС: Archlinux

Re: Вывод погоды в Conky

Сообщение Dunris »

Хорошо, что не стоим на месте:) Я вот тоже подготовил кой-чего. Я использую вывод погоды по-минимуму: облачность, температура. Вот на Perl попробовал написать скриптик погоды с yahoo.com. Но он нуждается в доработке: на той странице где инфа берется состояние погоды отображается на инглише ( Mostly Cloudy и тд). Я, например, не знаю какие вариации там могут быть. Так что пока если на странице будет что-то отличное от "Mostly Cloudy" скрипт так и выведет аглицкую фразу(хотя я хз, может кому так даже удобнее). Так что для постоянного использования он, в принципе, пригоден.
Никаких файлов не используется, пришлось отказаться и от погоды "в картинках". Но у меня конки более-менее минималистичен, так что неудобств не испытываю.
Сейчас его вывод такой: Облачно, 11°C
Объективная критика приветствуется:)
Спасибо сказали:
Аватара пользователя
/dev/random
Администратор
Сообщения: 5458
ОС: Gentoo

Re: Вывод погоды в Conky

Сообщение /dev/random »

Ещё один удобный источник:
http://xoap.weather.com/weather/local/код_города?cc=*&dayf=количество_дней_прогноза&unit=i_или_m

Чистый XML, никакого оформления, удобно для парсинга.

код_города - код города, используемый в weather.com. Я не знаю хорошо автоматизируемого способа его выяснения, но если открыть исходник HTML-страницы нужного города на weather.com, то почти в самом верху будет надпись: var omn_locid="тот_самый_код". Например, для Волгограда это RSXX0117

cc=* - понятия не имею, что это значит. Менять значение не пробовал.

dayf=количество_дней_прогноза - собственно, количество дней прогноза. Если указать 0, то будет передана только текущая погода.

unit=i_или_m - имперские или метрические единицы измерения.

Пример: http://xoap.weather.com/weather/local/RSXX...yf=6&unit=m
Спасибо сказали:
Аватара пользователя
Dunris
Сообщения: 295
Статус: ...
ОС: Archlinux

Re: Вывод погоды в Conky

Сообщение Dunris »

Все бы отлично, только мой код города RSXX1366 (в исходник смотрел) и когда пытаюсь заменить код города на свой получаю вот это:

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

<error>
<err type="0">An unknown error has occurred.</err>
</error>

Хз может не там смотрю, конечно. Если что я брал свой код отсюда.
Спасибо сказали:
Аватара пользователя
/dev/random
Администратор
Сообщения: 5458
ОС: Gentoo

Re: Вывод погоды в Conky

Сообщение /dev/random »

Dunris писал(а):
05.07.2009 13:15
Все бы отлично, только мой код города RSXX1366 (в исходник смотрел) и когда пытаюсь заменить код города на свой получаю вот это:

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

<error>
<err type="0">An unknown error has occurred.</err>
</error>

Хз может не там смотрю, конечно. Если что я брал свой код отсюда.

Странно. У меня замечательно работает. Может, вы когда заменяли, какой-то ещё символ в ссылке потёрли? Попробуйте пройти по этой:
http://xoap.weather.com/weather/local/RSXX...yf=6&unit=m
Спасибо сказали:
Аватара пользователя
ormorph
Сообщения: 3214
ОС: Gentoo

Re: Вывод погоды в Conky

Сообщение ormorph »

Узнать код города можно с помощью ссылки http://xoap.weather.com/search/search?where=ГОРОД вписываеш свой город латиницей
например:
http://xoap.weather.com/search/search?where=taganrog

тока у меня не шла погода на несколько дней, привел ссылку к такому виду теперь идет нормально

http://xoap.weather.com/weather/local/RSXX0105?dayf=2&unit=m&cc=*

тока смотрю погода выводится в фаренгейтах а хотелось бы в градусах цельсия
осталось разобраться с содержимым, какой параметр что обозначает.
Спасибо сказали:
Аватара пользователя
/dev/random
Администратор
Сообщения: 5458
ОС: Gentoo

Re: Вывод погоды в Conky

Сообщение /dev/random »

ormorph писал(а):
05.07.2009 20:39
тока смотрю погода выводится в фаренгейтах а хотелось бы в градусах цельсия
осталось разобраться с содержимым, какой параметр что обозначает.

Температура у них выводится в цельсиях, если указать метрические единицы (unit=m), и в фаренгейтах если или указать имперские (unit=i), или не указывать никаких.
Спасибо сказали:
Аватара пользователя
Dunris
Сообщения: 295
Статус: ...
ОС: Archlinux

Re: Вывод погоды в Conky

Сообщение Dunris »

/dev/random писал(а):
05.07.2009 14:52
Странно. У меня замечательно работает. Может, вы когда заменяли, какой-то ещё символ в ссылке потёрли? Попробуйте пройти по этой:
http://xoap.weather.com/weather/local/RSXX...yf=6&unit=m

То же самое!:( Ровно та же ошибка...
Спасибо сказали:
Аватара пользователя
ormorph
Сообщения: 3214
ОС: Gentoo

Re: Вывод погоды в Conky

Сообщение ormorph »

Что то не очень идет с weather.com
curl не завершает работу так и весит пока не нажмеш enter

ну и погода в сельсиях при этом так и не пошла, поменял местами еще раз появилась буква C но температура вообще не появилась, а curl не завершает работу так же и весит.
чудеса какието в curl не проходят параметры адреса далее знака &
Тут хз возможно дело в провайдере.
Спасибо сказали:
Аватара пользователя
ormorph
Сообщения: 3214
ОС: Gentoo

Re: Вывод погоды в Conky

Сообщение ormorph »

Опс лохонулся
адрес надо было просто в кавычках вводить))
кстати на счет обработки даного адреса я тут уже находил и давал ссылку на скрипты
http://www.dleu.be/download/index.php?path=conky/
Спасибо сказали:
Аватара пользователя
butch
Сообщения: 331
ОС: :OC

Re: Вывод погоды в Conky

Сообщение butch »

не конки, но вариант тоже неплохой для xfce4 (да и от конки я отказался. вечно он спрятан под окнами).
есть в нем generic monitor - выполняет код и выдает его содержимое на панель раз в N минут.
погода с yahoo

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

#!/usr/bin/env bash

#configuration part
####################

#icons="/home/butch/distr/icons/tick/30"
icons="/home/butch/distr/icons/Shiny/32"
icon="NOCONNECTION"
city="Казань"

#code part

wtemp=$(mktemp /tmp/weather.XXXX)
wget -q -O $wtemp "http://weather.yahooapis.com/forecastrss?p=RSXX0043&u=c"
temper=$(grep "yweather:condition" $wtemp | cut -d'"' -f6)
condit=$(grep "Current Conditions" -A1 $wtemp | sed 's/<b>//g;s/<\/b>//g;s/<br//gi;s/\/>//g')
icon=$(grep "yweather:condition" $wtemp | cut -d'"' -f4)

echo "<txt>   $temper</txt>"
echo "<img>$icons/$icon.png</img>"

echo "<tool>
$city, $condit
</tool>"
exit


быстро узнать погоду в консоли можно так =))

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

curl -s "http://weather.yahooapis.com/forecastrss?p=RSXX0043&u=c" | grep "Current Conditions" -A1 $wtemp | sed 's/<b>//g;s/<\/b>//g;s/<br//gi;s/\/>//g'


yahoo отдает вместе с описанием погоды, типа cloudy еще и код состояния погоды. если погуглить, можно найти например Shiny icons, в нем каждая иконка имеет наименование = коду погоды с yahoo =) в итоге выбрать нужную иконку очень проста =)

hint: изменить размер иконок под высоту панели просто, например так:

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

cd /path/to/icons && mkdir 32 && for k in *.png; do convert $k -resize 32x32 -quality 100 32/$k; done

единственный минус генерик монитора - он рисует текст под картинкой. было бы здорово если бы текст был сбоку.
ну и да, я знаю что в xfce4 есть свой мониторинг температуры на панели. и знаю что можно воткнуть гномовский монитор через xfapplet.
вот скрин всех троих. иконки у моего монитора - первые попавшиеся =) возможно получше найдется, если погуглить хорошенька.
слева направо: xfapplet с gnome weather, xfce4 weather applet, xfce4 generic monitor + script.


обновлено:
добавил скрывающуюся панель боковую, с большой и более симпотичным набором иконок =)
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Спасибо сказали:
Аватара пользователя
ormorph
Сообщения: 3214
ОС: Gentoo

Re: Вывод погоды в Conky

Сообщение ormorph »

Вот немного по эксперементировал получение погоды с Weather.com на 3 дня, скопировать в домашний каталог, выполняется скрипт pogod.sh, который считывает с сайта инфу в файл temp, в скрипте в переменной LOCID= прописать свой код города
conky считывает данные с файла темп, так же приведен пример conkyrc для работы требуется установленный шрифт ConkyWeather но можно заменить его на weather

У вас нет необходимых прав для просмотра вложений в этом сообщении.
Спасибо сказали:
Аватара пользователя
/dev/random
Администратор
Сообщения: 5458
ОС: Gentoo

Re: Вывод погоды в Conky

Сообщение /dev/random »

По поводу xoap.weather.com: несколько дней назад они, похоже, переехали на xml.weather.com
Спасибо сказали:
Аватара пользователя
ormorph
Сообщения: 3214
ОС: Gentoo

Re: Вывод погоды в Conky

Сообщение ormorph »

Ну да у меня теперь ошибку выдает на старом адресе, а на новом на несколько дней не идет и вроде синтаксис xml отличается немного.
все прехожу на http://www.nepogoda.ru там хоть пока стабильно работает и вроде новый сервис, не должны так быстро изменения вклеить.
Спасибо сказали:
Аватара пользователя
butch
Сообщения: 331
ОС: :OC

Re: Вывод погоды в Conky

Сообщение butch »

ormorph писал(а):
09.07.2009 17:59
и вроде новый сервис, не должны так быстро изменения вклеить.

уж лучше на монстров ориентироваться =)
Спасибо сказали:
Аватара пользователя
Grafin
Сообщения: 30
ОС: Gentoo

Re: Вывод погоды в Conky

Сообщение Grafin »

butch писал(а):
10.07.2009 10:19
ormorph писал(а):
09.07.2009 17:59
и вроде новый сервис, не должны так быстро изменения вклеить.

уж лучше на монстров ориентироваться =)

кстати, да, потому что на http://www.nepogoda.ru/about/ честным по правде-матке написано

Прогнозы погоды расчитываются по собственному алгоритму на основе данных метеомодели National Oceanic and Atmospheric Administration (NOAA), США, носят экспериментальный характер и предназначены для личного использования (ознакомителения).
Прогноз на ближайшие 360 часов (15 дней) расчитывается (пересчитывается) в автоматизированном режиме каждые 6 часов. Прогноз не проходит контроль качества со стороны синоптиков, поэтому возможны ошибки. Также не стоит забывать, что любой прогноз погоды не бывает 100% точным.

самослив зощитан :glare: но куда податься?) :g:

обновлено 8:42
Нашел польский скрипт для yahoo. проверю их сервис - отчитаюсь)
Спасибо сказали:
Аватара пользователя
kovik65
Сообщения: 151
Статус: Сочувствующий
ОС: openSUSE, FreeBSD, Windows

Re: Вывод погоды в Conky

Сообщение kovik65 »

ormorph писал(а):
09.07.2009 17:59
Ну да у меня теперь ошибку выдает на старом адресе, а на новом на несколько дней не идет и вроде синтаксис xml отличается немного.
все прехожу на http://www.nepogoda.ru там хоть пока стабильно работает и вроде новый сервис, не должны так быстро изменения вклеить.

На weather.com формат запроса поменяли и при новом запросе требуется авторизация. Было так

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

http://xoap.weather.com/weather/local/$LOCID?cc=*&unit=$UNITS&dayf=2

Стало так

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

http://xoap.weather.com/weather/local/$LOCID?cc=*&unit=$UNITS&dayf=2&link=xoap&prod=xoap&par=[PartnerID]&key=[LicenseKey]

PartnerID и LicenseKey можно получить после регистрации здесь. Они придут на e-mail после регистрации.
Help по формату запроса к xoap.weather.com можно скачать здесь
Остальное не изменилось :)
... опыт, сын ошибок трудных ...
Спасибо сказали:
Аватара пользователя
Grafin
Сообщения: 30
ОС: Gentoo

Re: Вывод погоды в Conky

Сообщение Grafin »

Польский скрипт переведен, исправлен // яху за время сменил IP) и voila! it's realy works!)
Цель: weather.yahoo.com
Кто на операционном столе:
  • conditions.sh позволяет добавлять "погодную" картинку символом шрифта
  • pogodynka.sh скрипт, сдирающий погоду с сайта и выводящий в окно conky

Установка:
Скрипты должны лежать по адресу, указанному в переменной файла pogodynka.sh $imhere (по умолчанию - $imhere=~/.conky)
В том же файле есть переменная $citycode, где необходимо указать код города в формате RSXX0000, по умолчанию стоит код Дефолт-сити=)
Содержимое раздела TEXT .conkyrc:

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

TEXT
${font YourNiceFont:size=42}${execi 10800 ~/.conky/conditions.sh}${font}${voffset -10}${execi 10800 ~/.conky/pogodynka.sh}

Таймаут поставлен на три часа. именно за это время обновляется страница с yahoo
Пруфпик: Изображение

Пока работал с этими скриптами, пришла в голову еще одна идея: что, если wget'ом сцапать html-страницу с нашей погодой и grep-нуть ее по полной. на том же yahoo можно получить погоду на три дня вперед, (только не скриптом,) главная проблема - якоря, по которым искать нужные значения, ведь код могут изменить. Сам я заниматься этим если и буду, то не сейчас. решил просто забросить мысль в массы-)
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Спасибо сказали:
Аватара пользователя
ormorph
Сообщения: 3214
ОС: Gentoo

Re: Вывод погоды в Conky

Сообщение ormorph »

не xml наиболее удобный вариант нежли http так как xml меньше шансов что поменяется сценарий.
кстати на http://www.nepogoda.ru судя по моим наблюдениям, наиболее правдоподобный прогноз получился, на счет дождя, на других например wetaher.com такой точности не получалось, только когда дождь уже пошел показывало, что должен быть дождь. Вот тебе и экспериментальный сайт)
Спасибо сказали: