Autor Tema: Inutil con la utilidad  (Leído 741 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Ubik

  • Administrator
  • Hero Member
  • *****
  • Mensajes: 1.227
    • Ver Perfil
  • Estación: Villavieja de Yeltes ESCYL3700000037260A--Villares de la Reina ESCYL3700000037184A
Re:Inutil con la utilidad
« Respuesta #15 en: 10 de Abril del 2017, 20:47:40 pm »
Llega sin ningún decimal, revisa la configuración.
Web http://www.meteovillavieja.es                           
Davis pro2+cumulus+W7+Optiplex
PCE FWS-20+Garita madera+Cumulus+XP+Optiplex  

Desconectado Telares

  • Full Member
  • ***
  • Mensajes: 197
    • Ver Perfil
  • Estación: Matueca [ ESCYL2400000024820A ]
Re:Inutil con la utilidad
« Respuesta #16 en: 10 de Abril del 2017, 20:50:53 pm »
Estoy en ello. No sé si poner locale en ES, EN, ninguno; El meteoclimatic_http.php.old o sin .old
 Creo que ya he intentado todas las variaciones posibles.

Desconectado EA4TN

  • Full Member
  • ***
  • Mensajes: 142
    • Ver Perfil
  • Estación: ESMAD2800000028522A
Re:Inutil con la utilidad
« Respuesta #17 en: 10 de Abril del 2017, 21:31:36 pm »
Bueno, soy consciente que es uno de los puntos más oscuros de Linux.

Tendré que repasar todo el trabajo anterior.

Ahora veamos como está mi sistema:

/root/meteoclimatic.sh está así:

Código: [Seleccionar]
#!/bin/bash
cd /root/meteoclimatic
#Si no quieres log
php meteoclimatic_http.php.old
#Si quieres log
#php meteoclimatic_http.php.old >> /var/log/meteoclimatic.log
exit

Mi /var/www/html/meteoclimatic.htm es este:

Código: [Seleccionar]
*VER=DATA2 *COD=ESMAD2800000028522A *SIG= *UPD=10-04-2017 19:20 *TMP=21.8 *WND=0 *AZI=249 *BAR=1021.0 *HUM=30 *SUN=0 *UVI=0 *DHTM=26.3 *DLTM=8.6 *DHHM=69 *DLHM=22 *DHBR=1025.6 *DLBR=1020.8 *DGST=16 *DSUN=0 *DHUV=0 *DPCP=0.0 *WRUN= *MHTM=26.3 *MLTM=4.1 *MHHM=77 *MLHM=19 *MHBR=1025.6 *MLBR=1016.5 *MGST=42 *MSUN=0 *MHUV=0 *MPCP=0.0 *YHTM=26.7 *YLTM=-4.4 *YHHM=97 *YLHM=19 *YHBR=1032.6 *YLBR=998.8 *YGST=64 *YSUN=0 *YHUV=0 *YPCP=43.2 *EOT* © jantoni (02/2015)
Es decir, con puntos decimales en lugar de comas.

El hecho de tener puntos decimales, en lugar de comas, a pesar de tener el locale en Español, es porque el entorno de Weewx no asume ese locales. Habría que incluir el locale en el script de arranque.

Es decir tienes que usar el meteoclimatic_htm.php.old si has usado una imagen de Raspberry Pi y luego has usado el script de instalación.

Yo creo que pasando una parte del script lo solucionarás. En concreto esto:
Código: [Seleccionar]
# 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  create 644 syslog adm\n  sharedscripts\n  postrotate\n  reload rsyslog > /dev/null 2>&1\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

Habrá que dar una vuelta a este tema de los puntos, las comas, etc, etc.....pero el tiempo me queda corto. Sorry

Desconectado EA4TN

  • Full Member
  • ***
  • Mensajes: 142
    • Ver Perfil
  • Estación: ESMAD2800000028522A
Re:Inutil con la utilidad
« Respuesta #18 en: 10 de Abril del 2017, 21:35:57 pm »
Pero insisto que le tengo que dar un repaso a todo, son muchas versiones enlazadas.....

Desconectado Telares

  • Full Member
  • ***
  • Mensajes: 197
    • Ver Perfil
  • Estación: Matueca [ ESCYL2400000024820A ]
Re:Inutil con la utilidad
« Respuesta #19 en: 10 de Abril del 2017, 22:19:49 pm »
He pasado el semiscript, tengo el mismo meteoclimatic.sh, y también me genera la plantilla con puntos decimales. Pero no actualiza, salvo que tarde mucho...

Desconectado jmviper

  • Global Moderator
  • Hero Member
  • *****
  • Mensajes: 970
  • "Vortex Complex"
    • Ver Perfil
    • www.meteoarchena.es
  • Estación: Archena - ESMUR3000000030600B
Re:Inutil con la utilidad
« Respuesta #20 en: 10 de Abril del 2017, 22:39:11 pm »
El problema que veo en el script es que en meteoclimatic_http.php sí se convierten las comas y en meteoclimatic_http.php.old no lo hace.

Prueba a editar con nano en el meteoclimatic_http.php.old la siguiente línea que está por la 40 aproximadamente:

Código: [Seleccionar]
foreach ($items as $valor) {
            list ($var, $val) = explode ('=',$valor);
            $tpl[$var] = trim ($val);
         }
         

por

Código: [Seleccionar]
foreach ($items as $valor) {
            //list ($var, $val) = explode ('=',$valor);
            //Se sustituye la linea anterior por la siguiente, que cambia las comas decimales por puntos decimales
            list ($var, $val) = explode ('=',str_replace(',', '.', str_replace('.', '', $valor)));
            $tpl[$var] = trim ($val);

esa línea es la que cambia comas por puntos en el script

en ese script las líneas que empiezan por doble barra // son comentarios y son ignorados por PHP


Archena, Valle de Ricote (Murcia). 120 msnm. 18.734 hab.
Davis Vantage Pro2 Plus

www.meteoarchena.es

Desconectado Telares

  • Full Member
  • ***
  • Mensajes: 197
    • Ver Perfil
  • Estación: Matueca [ ESCYL2400000024820A ]
Re:Inutil con la utilidad
« Respuesta #21 en: 10 de Abril del 2017, 22:56:07 pm »
Ya lo cambié pero no veo mejora

Desconectado jmviper

  • Global Moderator
  • Hero Member
  • *****
  • Mensajes: 970
  • "Vortex Complex"
    • Ver Perfil
    • www.meteoarchena.es
  • Estación: Archena - ESMUR3000000030600B
Re:Inutil con la utilidad
« Respuesta #22 en: 10 de Abril del 2017, 23:19:12 pm »
Antes has enviado una plantilla manualmente ejecutando php /root/meteoclimatic/meteoclimatic_http.php no ? Prueba otra vez a ejecutarlo a ver si sube la plantilla


Archena, Valle de Ricote (Murcia). 120 msnm. 18.734 hab.
Davis Vantage Pro2 Plus

www.meteoarchena.es

Desconectado Telares

  • Full Member
  • ***
  • Mensajes: 197
    • Ver Perfil
  • Estación: Matueca [ ESCYL2400000024820A ]
Re:Inutil con la utilidad
« Respuesta #23 en: 10 de Abril del 2017, 23:25:03 pm »
Lo ejecuto pero no sube

Desconectado jmviper

  • Global Moderator
  • Hero Member
  • *****
  • Mensajes: 970
  • "Vortex Complex"
    • Ver Perfil
    • www.meteoarchena.es
  • Estación: Archena - ESMUR3000000030600B
Re:Inutil con la utilidad
« Respuesta #24 en: 10 de Abril del 2017, 23:37:24 pm »
Y ejecutando php /root/meteoclimatic/meteoclimatic_http.php.old ?


Archena, Valle de Ricote (Murcia). 120 msnm. 18.734 hab.
Davis Vantage Pro2 Plus

www.meteoarchena.es

Desconectado Telares

  • Full Member
  • ***
  • Mensajes: 197
    • Ver Perfil
  • Estación: Matueca [ ESCYL2400000024820A ]
Re:Inutil con la utilidad
« Respuesta #25 en: 10 de Abril del 2017, 23:48:15 pm »
root@raspberrypi:~# php /root/meteoclimatic/meteoclimatic_http.php.old
PHP Parse error:  syntax error, unexpected 'else' (T_ELSE) in /root/meteoclimatic/meteoclimatic_http.php.old on line 131

Desconectado jmviper

  • Global Moderator
  • Hero Member
  • *****
  • Mensajes: 970
  • "Vortex Complex"
    • Ver Perfil
    • www.meteoarchena.es
  • Estación: Archena - ESMUR3000000030600B
Re:Inutil con la utilidad
« Respuesta #26 en: 10 de Abril del 2017, 23:52:11 pm »
Puedes poner el trozo de código que has editado antes ? esas líneas y anteriores y posteriores ?


Archena, Valle de Ricote (Murcia). 120 msnm. 18.734 hab.
Davis Vantage Pro2 Plus

www.meteoarchena.es

Desconectado Telares

  • Full Member
  • ***
  • Mensajes: 197
    • Ver Perfil
  • Estación: Matueca [ ESCYL2400000024820A ]
Re:Inutil con la utilidad
« Respuesta #27 en: 10 de Abril del 2017, 23:55:17 pm »
 define ('BASE10', "0123456789");
   define ('BASE16', "0123456789ABCDEF");
   define ('BASE32', "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ");
   define ('BASE62', "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz");
   $digestKey = $inifile['Global']['DigestKey'];
   if (empty ($digestKey)) $digestKey = 'uquief5moh8yeebeuTaivahKoT3ceeseiQuood1iequ4ahshohchijeid1oe4Gis';


   // Processa totes les plantilles
   $estacions = explode (';', $inifile['Global']['Stations']);

   foreach ($estacions as $station_id) {
      clearstatcache ();
      $password = $inifile[$station_id]['Password'];
      $datafile = $inifile[$station_id]['Path'];
      if (file_exists ($datafile) && filemtime ($datafile) > time () - 3600) {
         $plantilla = file_get_contents ($datafile);
         $plantilla = str_replace ("\n", "", $plantilla);
         $plantilla = str_replace ("\r", "", $plantilla);
         $items = explode ("*", $plantilla);
         $tpl = array ();
         foreach ($items as $valor) {
            //list ($var, $val) = explode ('=',$valor);
            //Se sustituye la linea anterior por la siguiente, que cambia las comas decimales por puntos decimales
            list ($var, $val) = explode ('=',str_replace(',', '.', str_replace('.', '', $valor)));
            $tpl[$var] = trim ($val);
         // Genera OTP
         $OTP = md5 (md5 ($password) . ($tpl['TMP'] * 10) . $digestKey);
         $OTP = substr ($OTP, rand (1, strlen ($OTP) - 10), 10);
         if (!is_numeric (substr ($tpl['AZI'], 0, 1))) $tpl['AZI'] = rsentit ($tpl['AZI']);
         // Confecciona el Query
         $T =  BaseConvert (round ($tpl['TMP'] * 10), BASE10, BASE62) . ';' .

Desconectado jmviper

  • Global Moderator
  • Hero Member
  • *****
  • Mensajes: 970
  • "Vortex Complex"
    • Ver Perfil
    • www.meteoarchena.es
  • Estación: Archena - ESMUR3000000030600B
Re:Inutil con la utilidad
« Respuesta #28 en: 11 de Abril del 2017, 00:00:36 am »
list ($var, $val) = explode ('=',str_replace(',', '.', str_replace('.', '', $valor)));
            $tpl[$var] = trim ($val);
            }
           // Genera OTP

tienes que poner una llave de cierre ahí antes del comentario


Archena, Valle de Ricote (Murcia). 120 msnm. 18.734 hab.
Davis Vantage Pro2 Plus

www.meteoarchena.es

Desconectado Telares

  • Full Member
  • ***
  • Mensajes: 197
    • Ver Perfil
  • Estación: Matueca [ ESCYL2400000024820A ]
Re:Inutil con la utilidad
« Respuesta #29 en: 11 de Abril del 2017, 00:04:45 am »
   $tpl = array ();
         foreach ($items as $valor) {
            //list ($var, $val) = explode ('=',$valor);
            //Se sustituye la linea anterior por la siguiente, que cambia las comas decimales por puntos decimales
            list ($var, $val) = explode ('=',str_replace(',', '.', str_replace('.', '', $valor)));
            $tpl[$var] = trim ($val);
            }
            // Genera OTP