Uusi Conky sääscripta (ilmatieteenlaitos.fi)

Ei vaan oikealla puolella on televisio (tai tarkemmin näyttö, joka ajaa television virkaa yhdessä digiboxin kanssa), joka näkyy työpöydällä jatkonäyttönä.

Yleensä en sitä näyttöä käytä, mutta silloin tällöin tulee katsottua televisiota/leffaa vlc:llä. Yleensä se on DigiBoxin näyttönä. Siis henkilökohtaisesti on tarve, että laitan aligmentin tl:ksi ja gap_x:n 1500:ksi, jolloin conky tulee ykkösnäyttöni oikeaan reunaan.

No, se ei ole suuri ongelma, mutta sääikonit olisi kiva saada pysyvästi conkyikkunan sisään. Nyt näyttäisi olevan niin, että välillä päivittäessä (refresh) ne häviää ja välillä ne tulevat näkyviin.

En tosin ole tarkistanut toisesta koneesta, jossa on muutettu vain default.cfg:llä paikkakunta.

Mutta kiitoksia kyllä tälläkin pärjää…

sen olisi hyvä ratkaista.

olen tehnyt sen verran paljon muutoksia että jotain ennakoimatonta voi kyllä tapahtua.

voitko avata terminaalin ja antaa minulle conky --version .

voisitko myös liittää kaikki tiedostot joihin olet tehnyt muutoksia.

asennan samalla lubuntua virtualboxiin, mutta luulisin ettei se paljon eroa debian jessie lxde:stä.

Anteeksi, että tämä tulee vasta nyt, mutta tämä tässä:

$ conky --version
Conky 1.9.0 compiled Wed Feb 19 18:44:57 UTC 2014 for Linux 3.2.0-37-generic (x86_64)

Compiled in features:

System config file: /etc/conky/conky.conf
Package library path: /usr/lib/conky

 X11:
  * Xdamage extension
  * XDBE (double buffer extension)
  * Xft
  * ARGB visual

 Music detection:
  * Audacious
  * MPD
  * MOC
  * XMMS2

 General:
  * math
  * hddtemp
  * portmon
  * Curl
  * RSS
  * Weather (METAR)
  * Weather (XOAP)
  * wireless
  * support for IBM/Lenovo notebooks
  * nvidia
  * eve-online
  * config-output
  * Imlib2
  * apcupsd
  * iostats
  * ncurses
  * Lua

  Lua bindings:
   * Cairo
   * Imlib2

http://peran.kapsi.fi/itl-conky/
conky-itlv:ssä

# Text alignment
alignment tl
# Gap between borders of screen and text
gap_x 1500

default.cfg:ssä

# please visit www.ilmatieteenlaitos.fi and choose your location, then copy the
# URL here:
URL="http://ilmatieteenlaitos.fi/saa/lahti"

diffillä en ole varmistanut, teinkö jotain muutakin muutoksia, mutta nämä siis muistini mukaan.

Lubuntu versio 14.04.02

muutoksesi ovat kunnossa.

asensin lubuntua 14.04 LTS virtuaalikoneeseen, ja minulla ei näy yhtään kuvaketta!
“ln” kommento taittaa toimia jotenkin eri tavalla. tutkin asiaa.

olen muuten huomannut että scripta ei anna mitään varoitusta jos libxml2-utils ei ole asennettu. se vain ei tee mitään ja käyttää jotain vanhaa ennustetta.
varmista siis että kaikki riippuvuudet on asennettu.

Lisään tähän toimivan ja toimimattoman kuvat.
Toimiva…


Toimimaton…

Tässä login diffiä, mutta eipä siinä pahemmin eroja ole ???

$ diff -rup Toimiva-itl.sh.logfile Virheellinen-itl.sh.logfile 
--- Toimiva-itl.sh.logfile	2015-06-16 20:46:46.451937362 +0300
+++ Virheellinen-itl.sh.logfile	2015-06-16 20:46:29.083687690 +0300
@@ -3,20 +3,20 @@ default.cfg is a file. sourced.
 :: URL is http://ilmatieteenlaitos.fi/saa/lahti, Language is fi
 :: Will attempt to fetch weather data for http://ilmatieteenlaitos.fi/saa/lahti ...
 
---2015-06-16 20:35:31--  http://ilmatieteenlaitos.fi/saa/lahti
+--2015-06-16 20:26:01--  http://ilmatieteenlaitos.fi/saa/lahti
 Selvitetään osoitetta ilmatieteenlaitos.fi (ilmatieteenlaitos.fi)... 193.166.221.20
 Yhdistetään palvelimeen ilmatieteenlaitos.fi (ilmatieteenlaitos.fi)|193.166.221.20|:80... yhdistetty.
 HTTP-pyyntö lähetetty, odotetaan vastausta... 200 OK
-Pituus: 136900 (134K) [text/html]
+Pituus: 135384 (132K) [text/html]
 Tallennetaan kohteeseen ”forecast/raw”
 
-     0K .......... .......... .......... .......... .......... 37% 2,35M 0s
-    50K .......... .......... .......... .......... .......... 74% 3,13M 0s
-   100K .......... .......... .......... ...                  100% 6,18M=0,04s
+     0K .......... .......... .......... .......... .......... 37% 1,23M 0s
+    50K .......... .......... .......... .......... .......... 75% 1,68M 0s
+   100K .......... .......... .......... ..                   100% 2,74M=0,08s
 
-2015-06-16 20:35:32 (3,13 MB/s) - ”forecast/raw” tallennettu [136900/136900]
+2015-06-16 20:26:02 (1,61 MB/s) - ”forecast/raw” tallennettu [135384/135384]
 
-:: When was the data fetched: 20:35
+:: When was the data fetched: 20:26
 :: Extracting timerange short to meteogram
 :: Filling arrays and creating symlinks
 :: == [0] ==

Kokeilin seuraavaa, ja tämä saattaa toimia. Eli jostain syystä Lubuntu ei poista vanhoja symbolisia linkkeja, kuten arvelitkin…

        if [[ $ConkyVar = 1 ]]
        then
            ___msg___ "Conky-specific things"

            [ -d "$OutDir/$timerange" ] || $MKDIR "$OutDir/$timerange"

            ___msg___ "Creating symlinks for forecast and precipitation-bar images"
            ######################################################################
            #added by peran
            rm "$OutDir/$timerange/.fc${count}.png"
            rm "$OutDir/$timerange/.pb${count}.png"
            #added by peran

            ln -r -f -s "$FcImgDir/${weather_img[count]}.png" "$OutDir/$timerange/.fc${count}.png"
            ln -r -f -s "$PrecBarDir/${prec_bar[count]}.png" "$OutDir/$timerange/.pb${count}.png"
            
            temp_plusminus[count]="$(echo ${temp_plusminus[count]} | sed "s/positive/$col_pos/g ; s/negative/$col_neg/g")"
            ___msg___ "replace positive/negative with conky colors in temp_plusminus, is now: ${temp_plusminus[count]}"
            
            wind_txt[count]="$(echo ${wind_txt[count]} | sed "s/tuulta// ; s/.ind // ; s/lig// ; s/north/N/ ; s/east/E/ ; s/south/S/ ; s/west/W/")"
            ___msg___ "shorten wind_txt, is now: ${wind_txt[count]}"

juu, minä sain just saman selväks.
omituista, mun archlinuxilla tuo “ln -f” toimii moitteettomasti.
versioissa on hieman eroa. archlinuxilla on: ln (GNU coreutils) 8.23
ja lubuntu 14.04:llä on: ln (GNU coreutils) 8.21

vähän hienompi ratkaisu on jos poistat lisäystäsi, sitten korvaat tämän:

ln -r -f -s "$FcImgDir/${weather_img[count]}.png" "$OutDir/$timerange/.fc${count}.png"
ln -r -f -s "$PrecBarDir/${prec_bar[count]}.png" "$OutDir/$timerange/.pb${count}.png"

tällä:

ln -vrs "$FcImgDir/${weather_img[count]}.png" "$OutDir/$timerange/.fc${count}"
ln -vrs "$PrecBarDir/${prec_bar[count]}.png" "$OutDir/$timerange/.pb${count}"
mv -vf "$OutDir/$timerange/.fc${count}" "$OutDir/$timerange/.fc${count}.png"
mv -vf "$OutDir/$timerange/.pb${count}" "$OutDir/$timerange/.pb${count}.png"

ps: “-v” optiota ei varsin tarvita, mutta se auttaa löytämään ongelmia. itl.sh scripta luo debug-tiedoston joka suorituksella.

(kirjoittajan poistama viesti)

2 tykkäystä

paljon uudistuksia, korjasin pieniä virheitä (mikä on “bug” suomeksi?).
yritän pikkuhiljaa parantaa config-tiedostojen logiikkaa ja dokumentoida sitä.

Ohjelmointivirhe, yleensä puhekielessä sanotaan vain bugi.

Ammattipiireissä kyseinen “Bug” sana käännetään sanaksi “ominaisuus”.
:stuck_out_tongue_winking_eye:

1 tykkäys

ok, kiitos.
kai “bugi” kelpaa.

Huom!
Scripta tarvitsee conky 1.9 versioita (tai ehkä pienempääkin).
Jotkut jakelut käyttävät conky 1.10 oletusversiona, joka käyttää uutta syntaksia (lua). Tämä scripta ei toimi 1.10 versioiden kanssa.

(kirjoittajan poistama viesti)

huomasin että tämä EI pidä paikkansa.
scripta toimii sekä 1.9.x että 1.10.x conky-versioilla!!!

Tähän meni eilen paljon siivoustyötä.
Kaikki on vähän isompaa, ja hyödyttömästä “Katso kaikki varoitukset” viestistä luovuin.
Varoituksia ei siis näy conkyssa ollenkaan enää, koska niiden logiikka on muuttunut täysin.

Suomenkielisesta README:stä luovuin kokonaan. Sori.

Muistaakseni käynnistyskommento on vielä sama, mutta parempi tarkistaa.

Uusi oletusfontti on “DejaVu Sans” koska se on mukana ainakin kaikissa debian-kaltaisissa jakeluissa. Hyvä valinta?
Valitettavasti lopputulos silti ei ole ihan samannäköinen erilaisissa jakeluissa; testaan vielä.

Kohta tulee lisää parannuksia!
– uudet kuvakkeet
– paikalliset säähavainnot

uusia kuvakkeita nyt on!
tai oikeastaan ne pitää ladata itse ilmatieteen laitoksen sivuilta, koska en tiedä saako ne jakaa eteenpäin.
lisäsin geticons.sh scriptan joka kysyy mitä haluat & lataa kansioihin niin että ne voi heti käyttää.
vaihtoehtoja on 3:
Värikäs SVG
Suuret siniset mobiilisivulta
Pienet valkoiset mobiilisivulta

En tiedä saanko paikalliset säähavainnot ikinä takaisin; ne on nykyään piilotettu javascriptan takana. Tutkin asiaa eilen, ja mahdolliset ratkaisut ovat joko hauraita tai sitten vaativat raskaat riippuvuudet.

Onkohan chromesta apua ?

Sillä saa tulostettua DOM-puun tiedostoksi.

google-chrome --headless --disable-gpu --dump-dom http://ilmatieteenlaitos.fi/paikallissaa >saa.html

En jaksanut tutkia enempää itl:n sivuja, mutta siitä saattaa olla apua sinulle.

ja chromium kanssa, ja myös vivaldi!

kiitos, tästä on tosiaan apua; raskas riippuvuus se on, mutta monilla on varmaan joku näistä asennettu.

tutkin nyt myös phantomjs jne.

nettisivu käyttää uudet kuvakkeet, ja ne un numeroitu eri tavalla, jonka takia scripta ei näytä kuvakkeita enää.

kohta tulee kunnon päivistys, mutta tällä saa scriptan taas toimimaan:

#!/bin/bash

path=( "img/fc-img-svg" "img/fc-img-orig" "img/fc-img-alpha80" "img/fc-img-less-alpha80" "img/fc-img-gray" )
sep="________________"

cat <<EOF

Download icons straight from the Finnish Meteorological Insitute's website.
===========================================================================
Apply some conversions.
=======================

Colorful vector icons as seen here: http://ilmatieteenlaitos.fi/saa/helsinki

The SVG icons (unusable by conky) will be downloaded first, then
converted to 4 different 60px PNG icon sets:
    - original
    - original, 80% opacity
    - 90% brightness, 90% saturation, 80% opacity
    - 70% brightness, 0% saturation, 100% opacity

It is best if you call this script from the base directory of the
conky-itl-weather repository. Make sure you have write permissions for the 
present working directory.

Requirements: wget for downloading, imagemagick (convert) for all conversions.

EOF

read -p "Press <Enter> to continue... "

! which wget >/dev/null 2>&1 && echo "Could not find wget in PATH. No downloading. :(" && exit 1

i=0
mkdir -vp "${path[i]}" || exit 1
printf "\nThe vector icon set is now downloaded to %s\n" "${path[i]}"

for ((c=0 ; c<200 ; c++)); do
	wget -O "${path[i]}/$c.svg" https://cdn.fmi.fi/symbol-images/smartsymbol/p/$c.svg >/dev/null 2>&1
	printf '.'
done
printf "\n"
# delete all the empty files wget produced.
find "${path[i]}" -maxdepth 1 -empty -type f -delete

! which convert >/dev/null 2>&1 && echo "Could not find convert (imagemagick) in PATH. No conversion. :(" && exit 1

for (( i=1 ; i<${#path[@]} ; i++ )); do
	printf "\nCreating directory ${path[i]}\n$sep\n"
	mkdir -p "${path[i]}"

	case $i in
	1)	command="convert -background none -resize 60"
	;;
	2)	command="convert -background none -channel A -evaluate divide 1.25 +channel -resize 60"
	;;
	3)	command="convert -background none -channel A -evaluate divide 1.25 +channel -define modulate:colorspace=HSB -modulate 100,90,90 -resize 60"
	;;
	4)	command="convert -background none -grayscale rec601luma -define modulate:colorspace=HSB -modulate 100,100,70 -resize 60"
	;;
	esac
	printf "\nUsing command \n$command\nConverting ${path[0]}/*.svg to ${path[i]}/*.png\n$sep\n"; 
	for file in "${path[0]}"/*.svg; do
		$command "$file" "${file%.*}.png"
	done
	mv "${path[0]}"/*.png "${path[i]}/"
done

printf "\nSuccess! Now you can adjust your config file to include one of:\n"
for (( i=1 ; i<${#path[@]} ; i++ )); do
	echo "FcImgDir=\"${path[i]}\""
done

Kaikki on nyt päivitetty kunnolla, testattu debianilla (stretch) ja Xubuntulla (16.04.3) mun oman archlinux koneen lisäksi.
Olen muuttanut aika paljon, joten kannattaa katsoa vähän tarkemmin jos jotain ei toimi ihan automaattisesti.
Huom: kuvakkeita on nyt pakko ladata itse ilmatieteen laitoksen verkkosivuilta! mutta geticons.sh-scriptan avulla se onnistuu helposti.
kuvakaappaus
https://github.com/ohnonot/conky-itl-weather/