#!/bin/bash

# Esta versión puede estar desactualizada
# Comprueba la última versión en http://jantoni.no-ip.org/download/raspweather

# Empezamos

# Para desarrollo posterior
#============================================================================================

#$cod="*COD="
#$sig="*SIG="

# Identificar o preguntar por la plataforma Raspberry Pi, Orange Pi, Odroid, PC
#


# Preguntar por codigo estacion Meteoclimatic
#echo "Por favor, introduzca el código de estación en Meteoclimatic (ejemplo ESMAD2800000028522A): "
#read estacion_cod
#echo "Has introducido" $estacion_cod


# Preguntar por el SIG de la estacion en Meteoclimatic
#echo "Por favor, introduzca el SIG facilitado por Meteoclimatic (ejemplo ESMAD2800000028522A): "
#read estacion_sig
#echo "Has introducido" $estacion_cod
#$estacion_cod="$cod$estacion_cod"

# Descargar una plantilla de algún sitio
#wget http://www.googledrive.com/host/0B3z9VwkcZjjWaHNFQzNBUmZCRHc
#mv 0B3z9VwkcZjjWaHNFQzNBUmZCRHc weewx.plantilla


# Editar la plantilla con los datos incorporados anteriormente
#


# Descargar skin Meteoclimatic
#


# Descomprimir skin en /etc/weewx/skins/Standard/
#


# Descargar rutina de envío de datos a Meteoclimatic
#


# Configuración de la rutina con los datos introducidos
# 


# Modificar /etc/crontab para envío de datos con la rutina
#
#==============================================================================================


# Cambiamos la zona horaria. Nos garantizamos que sea UTC
echo 'UTC' > /etc/timezone
apt-get install --reinstall tzdata

# Actualizamos el sistema
apt-get update
apt-get upgrade --yes

# Vamos al directorio principal del usuario conectado
cd ~

# Descargamos la version disponible en Weewx.com para su descarga
wget -A '*.deb' -r -l 1 -nd http://weewx.com/downloads/

# Instalamos el software adicional a Weewx
apt-get install --yes libjbig0 liblcms2-2 libtiff5 libwebp5 libwebpdemux1 libwebpmux1 python-cheetah python-configobj python-imaging python-pil python-serial python-six python-usb apache2 php5 php5-sqlite libapache2-mod-php5

# Instalamos Weewx
dpkg -i wee*.deb

# Verificamos que no hay dependencias incumplidas por modificaciones en las imágenes del S.O.
# En futuras versiones en el script se incluirá una comprobación de dependencias más elegante
apt-get -f install
dpkg -i wee*.deb

# Paramos Weewx que ha debido quedar funcionando
/etc/init.d/weewx stop

# El enlace simbolico parece que genera algun problema en Raspbian Jessie
#ln -s /var/www/weewx /var/www/html/weewx

# Eliminamos el swaping para alargar la vida de la tarjeta SD
swapoff --all

# Desinstalamos el falso reloj y el sistema de swaping
apt-get purge --yes fake-hwclock dphys-swapfile

# Modificamos el sistema de log para que Weewx tenga su propio log y no mezclado con el resto del sistema
echo ":programname,startswith,\"weewx\"" /var/log/weewx.log | sudo tee -a /etc/rsyslog.d/99-weewx.conf > /dev/null
echo ":programname,startswith,\"weewx\"" \~\ | sudo tee -a /etc/rsyslog.d/99-weewx.conf > /dev/null

# Establecemos que Weewx tenga un log dentro de logrotate para evitar ficheros que nos consuman la RAM o la SD
echo -e "/var/log/weewx.log {\n  weekly\n  missingok\n  rotate 52\n  compress\n  delaycompress\n  notifempty\n  sharedscripts\n  postrotate\n  /etc/init.d/rsyslog stop\n  /etc/init.d/rsyslog start\n  endscript\n}" | sudo tee -a /etc/logrotate.d/weewx > /dev/null
echo "reiniciando el sistema de log"
service rsyslog restart

# Cambiamos en Weewx el dia de comienzo de semana. Ponemos lunes
# Buscamos week_start = 6 y lo sustituimos por week_start = 0 en /etc/weewx/weewx.conf
sed -i 's/week_start = 6/week_start = 0/g' "/etc/weewx/weewx.conf"

# Cambiamos Weewx.conf para que las unidades sean en metrica y ademas mm en lugar de cm y km/h en lugar m/s
sed -i 's/group_speed = meter_per_second/group_speed = km_per_hour/g' "/etc/weewx/weewx.conf"
sed -i 's/group_speed2 = meter_per_second2/group_speed2 = km_per_hour2/g' "/etc/weewx/weewx.conf"
sed -i 's/group_pressure = mbar/group_pressure = hPa/g' "/etc/weewx/weewx.conf"
sed -i 's/group_rain = cm/group_rain = mm/g' "/etc/weewx/weewx.conf"
sed -i 's/group_rainrate = cm_per_hour/group_rainrate = mm_per_hour/g' "/etc/weewx/weewx.conf"

# Cambiamos el formato de las horas y las fechas
sed -i 's/day        = %X/day        = %H:%M/g' "/etc/weewx/skins/Standard/skin.conf"
sed -i 's/week       = %X (%A)/week       = %H:%M on %A/g' "/etc/weewx/skins/Standard/skin.conf"
sed -i 's/month      = %x %X/month      = %d-%b-%Y %H:%M/g' "/etc/weewx/skins/Standard/skin.conf"
sed -i 's/year       = %x %X/year       = %d-%b-%Y %H:%M/g' "/etc/weewx/skins/Standard/skin.conf"
sed -i 's/rainyear   = %x %X/rainyear   = %d-%b-%Y %H:%M/g' "/etc/weewx/skins/Standard/skin.conf"
sed -i 's/current    = %x %X/current    = %d-%b-%Y %H:%M/g' "/etc/weewx/skins/Standard/skin.conf"
sed -i 's/ephem_day  = %X/ephem_day  = %H:%M/g' "/etc/weewx/skins/Standard/skin.conf"
sed -i 's/ephem_year = %x %X/ephem_year = %d-%b-%Y %H:%M/g' "/etc/weewx/skins/Standard/skin.conf"

# Cambiamos el formato de viento para que cuando la velocidad sea Cero no aparezca N/A sino N
sed -i 's/NNW, N\/A/NNW, N/g' "/etc/weewx/skins/Standard/skin.conf"

# Mas dificil todavia. Generamos el locale spanish si no existe
sed -i 's/# es_ES.UTF-8/es_ES.UTF-8/g' /etc/locale.gen
/usr/sbin/locale-gen
echo -e "LANG=\"es_ES.UTF-8\"\nLANGUAGE=\"es_ES.UTF-8\"\nLC_ALL=\"es_ES.UTF-8\"" | sudo tee -a /etc/environment > /dev/null
#Falta insertar las variables de lenguaje en el script de arranque de weewx

# Esto es todo. Reiniciamos
reboot
