Page 3 of 3

Re: Ajaxed index-page

Posted: Fri 05 Dec 2008 6:43 pm
by meteotortosa

Re: Ajaxed index-page

Posted: Sat 06 Dec 2008 3:52 pm
by aadal
Ajax is runing fine here thanx... :D

Re: Ajaxed index-page

Posted: Sun 07 Dec 2008 10:16 pm
by meteotortosa
Can I have Solar Radiation, ET an UV in realtime?

I've tried this, but not works

Code: Select all

//Solar Radiation
		set_ajax_obs("ajaxsolar", x.responseText.split(' ')[45] + "W/m²");

		//Evotranspiration
		set_ajax_obs(ajaxet", xresponseText.split(' ')[44]  " " + x.responseText.split(' ')[16]);
I think this isn't right way :oops:

Re: Ajaxed index-page

Posted: Sun 07 Dec 2008 10:26 pm
by pinto
meteotortosa wrote:Can I have Solar Radiation, ET an UV in realtime?
ajaxsolar, ajaxet, ajaxuv added

remove the .txt to use it

Re: Ajaxed index-page

Posted: Sun 07 Dec 2008 10:34 pm
by meteotortosa
pinto wrote:
meteotortosa wrote:Can I have Solar Radiation, ET an UV in realtime?
ajaxsolar, ajaxet, ajaxuv added

remove the .txt to use it
Ok, you're the best :mrgreen:

Re: Ajaxed index-page

Posted: Sun 07 Dec 2008 11:38 pm
by meteotortosa
pinto wrote:
meteotortosa wrote:Can I have Solar Radiation, ET an UV in realtime?
ajaxsolar, ajaxet, ajaxuv added

remove the .txt to use it
Now I see that my web is 1 minute updated !! Is this OK ?

Re: Ajaxed index-page

Posted: Mon 08 Dec 2008 7:53 am
by pinto
meteotortosa wrote: Now I see that my web is 1 minute updated !! Is this OK ?
sorry forgot: I update at 1 minute
you can change the time here:
bottom of the script

Code: Select all

    setTimeout("ajaxLoader('realtime.txt?'+new Date())",60000); // get new data after 1 minute
60000 milliseconds = 1 minute
5000 miliseconds = 5 seconds

you can set the speed here as you like

Re: Ajaxed index-page

Posted: Mon 08 Dec 2008 5:44 pm
by meteotortosa
A little problem again :oops: I'm sorry

I edit AjaxCumulus.js to show baro trend in spanish

Code: Select all

var langBaroTrend = new Array (
 "Estable", "Pujant lentament", "Pujant ràpidament", "Baixant lentament", "Baixant ràpidament");
and Beaufort

Code: Select all

var langBeaufort = new Array ( /* Beaufort 0 to 12 in array */
 "Calma", "Ventolina", "Vent Fluixet", "Vent Fluix", "Vent Moderat", "Vent Fresquet",
 "vent Fresc", "vent Fort", "Temporal", "Temporal Fort", "Temporal Molt Fort",
 "Temporal Violent", "Huracà"
Before I install the file mentioned here (https://cumulus.hosiene.co.uk/viewtopic.php?p=2966#p2966) it show OK, after install it..I have barotrend in english. :(

Thanks,
Lluís

Re: Ajaxed index-page

Posted: Mon 08 Dec 2008 7:23 pm
by pinto
if you don't use UV, try to remove it from AjaxCumulus.js

I have to find a solution for that.
If there is a value inside the AjaxCumulus.js, you don't use on your actual page, it looks like the updates stop at that point.
If I look at your page, all values located below UV in the AjaxCumulus.js do not update in realtime.

Re: Ajaxed index-page

Posted: Tue 09 Dec 2008 6:42 am
by meteotortosa
pinto wrote:if you don't use UV, try to remove it from AjaxCumulus.js

I have to find a solution for that.
If there is a value inside the AjaxCumulus.js, you don't use on your actual page, it looks like the updates stop at that point.
If I look at your page, all values located below UV in the AjaxCumulus.js do not update in realtime.
Some like this?
//UV
//set_ajax_obs("ajaxuv", x.responseText.split(' ')[43]);
or I have to delete it?

Re: Ajaxed index-page

Posted: Tue 09 Dec 2008 7:03 am
by meteotortosa
This are two AjaxCumulus.js

The first one:

Code: Select all

<!--
// Special thanks to: Kevin Reed http://www.tnetweather.com
// Special thanks to: Pinto http://www.joske-online.be
// Pinto wrote the basic AJAX code for this page!
//
// 25 oktober 2008 first try to write this script for Cumulus (http://sandaysoft.com)
//
// by Pinto
//
/////////////////////IMPORTAND NOTICE////////////////////////////////////////////////////////////////
//heat index is still pointing to outside temperature until steve releases a new version of cumulus
/////////////////////////////////////////////////////////////////////////////////////////////////////
//
// --- added flash-change on data update functions from Ken at http://www.saratoga-weather.org
// -- begin settings
//
//
var flashcolor = '#FF0000'; // color to flash for changed observations
var flashtime = '2000'; // miliseconds to keep flash color on (2000 = 2 seconds);
// -- end of settings 
var ie4=document.all;

function getElementsByName_iefix(tag, name) {

  var elem = document.getElementsByTagName(tag);
  var arr = new Array();
  for(i = 0,iarr = 0; i < elem.length; i++) {
    att = elem[i].getAttribute("name");
    if(att == name) {
      arr[iarr] = elem[i];
      iarr++;
    }
  }
return arr;
}

function reset_ajax_color( ) {
// reset all the <span name="ajax"...> styles to have no color override
  if (ie4) {
    elements = getElementsByName_iefix("span","ajax");
  } else {
    elements = document.getElementsByName("ajax");
  }
  numelements = elements.length;
  for (var index=0;index!=numelements;index++) {
    element = elements[index];
    element.style.color='';
  }
}


function set_ajax_obs( name, value ) {
// store away the current value in both the doc and the span as lastobs="value"
// change color if value != lastobs
  element = document.getElementById(name);
  lastobs = element.getAttribute("lastobs");
  element.setAttribute("lastobs",value);
  if (value != lastobs) {
    element.style.color=flashcolor;
  }
  element.innerHTML = value;
}
// --- end of flash-change functions
//
// --- begin of functions to convert values
//
var langBaroTrend = new Array (
 "Estable", "Pujant lentament", "Pujant ràpidament", "Baixant lentament", "Baixant ràpidament");

function ajax_get_barotrend(btrnd) {
// routine from Anole's wxsticker PHP (adapted to JS by Ken True)
// input: trend in hPa or millibars
//   Barometric Trend(3 hour)

// Change Rates
// Rapidly: =.06 inHg; 1.5 mm Hg; 2 hPa; 2 mb
// Slowly: =.02 inHg; 0.5 mm Hg; 0.7 hPa; 0.7 mb

// 5 conditions
// Rising Rapidly
// Rising Slowly
// Steady
// Falling Slowly
// Falling Rapidly

// Page 52 of the PDF Manual
// http://www.davisnet.com/product_documents/weather/manuals/07395.234-VP2_Manual.pdf
// figure out a text value for barometric pressure trend(1 hour)
   if ((btrnd >= -0.23) && (btrnd <= 0.23)) { return(langBaroTrend[0]); }
   if ((btrnd > 0.23) && (btrnd < 0.66)) { return(langBaroTrend[1]); }
   if (btrnd >= 0.66) { return(langBaroTrend[2]); }
   if ((btrnd < -0.23) && (btrnd > -0.66)) { return(langBaroTrend[3]); }
   if (btrnd <= -0.66) { return(langBaroTrend[4]); }
  return(btrnd);
}

function windrunUnit(windUnit) {
   if (windUnit == "m/s") { return " km"; }
   if (windUnit == "km/h") { return " km"; }
   if (windUnit == "mph") { return " miles"; }
   if (windUnit == "kts") { return " nm"; }
  return(windUnit);
}

var langBeaufort = new Array ( /* Beaufort 0 to 12 in array */
 "Calma", "Ventolina", "Vent Fluixet", "Vent Fluix", "Vent Moderat", "Vent Fresquet",
 "Vent Fresc", "Vent Fort", "Temporal", "Temporal Fort", "Temporal Molt Fort",
 "Temporal Violent", "Huracà"
);
//
// --- end of functions to convert values
//
function ajaxLoader(url) {
  if (document.getElementById) {
    var x = (window.ActiveXObject) ? new ActiveXObject("Microsoft.XMLHTTP") : new XMLHttpRequest();
  }
  if (x) {
    x.onreadystatechange = function() {
      if (x.readyState == 4 && x.status == 200) {

 		//updating text instead of " <#interval> minutes"        
		set_ajax_obs("ajaxintervaltext", "5 segons");

		//Temp
		temp = (x.responseText.split(' ')[2]+ " °" + x.responseText.split(' ')[14]);
		set_ajax_obs("ajaxtemp", temp);

		temptrend = (x.responseText.split(' ')[25]+ " °" + x.responseText.split(' ')[14] + "/hr");
		set_ajax_obs("ajaxtemptrend", temptrend);

 		//Time
		set_ajax_obs("ajaxtime", "actualitzat a les " + x.responseText.split(' ')[1] + " del " + x.responseText.split(' ')[0]);

		//Windchill
		set_ajax_obs("ajaxchill", x.responseText.split(' ')[24] + " °" + x.responseText.split(' ')[14]);

		//Humidity ...
		set_ajax_obs("ajaxhum", x.responseText.split(' ')[3] + "%");

		//Dewpt        
		set_ajax_obs("ajaxdewpt", x.responseText.split(' ')[4] + " °" + x.responseText.split(' ')[14]);
							
		//heat index        
		set_ajax_obs("ajaxheatindex", x.responseText.split(' ')[2] + " °" + x.responseText.split(' ')[14]);
							
 		//dayrain        
		set_ajax_obs("ajaxrfall", x.responseText.split(' ')[9] +  " " + x.responseText.split(' ')[16]);

 		//rainrate        
		set_ajax_obs("ajaxrrate", x.responseText.split(' ')[8] +  " " + x.responseText.split(' ')[16] + "/hr");

 		//rain month        
		set_ajax_obs("ajaxrmonth", x.responseText.split(' ')[19] +  " " + x.responseText.split(' ')[16]);

 		//rain year        
		set_ajax_obs("ajaxryear", x.responseText.split(' ')[20] +  " " + x.responseText.split(' ')[16]);

 		//wind latest        
		set_ajax_obs("ajaxwlatest", x.responseText.split(' ')[6] +  " " + x.responseText.split(' ')[13]);

 		//wind speed        
		set_ajax_obs("ajaxwspeed", x.responseText.split(' ')[5] +  " " + x.responseText.split(' ')[13]);

 		//windrun        
		set_ajax_obs("ajaxwindrun", x.responseText.split(' ')[17] + windrunUnit(x.responseText.split(' ')[13]));

 		//wind bearing        
		set_ajax_obs("ajaxavgbearing", x.responseText.split(' ')[7] +  "° " + x.responseText.split(' ')[11]);

 		//Beaufort        
		set_ajax_obs("ajaxbeaufort", "Beaufort F" + x.responseText.split(' ')[12]);

 		//Beaufort word
		set_ajax_obs("ajaxbeaudesc", langBeaufort[x.responseText.split(' ')[12]]);

 		//Barometer
		set_ajax_obs("ajaxpress", x.responseText.split(' ')[10] + " " + x.responseText.split(' ')[15]);

		//Barometer trend value and units        
		set_ajax_obs("ajaxpresstrendval", x.responseText.split(' ')[18] + " " + x.responseText.split(' ')[15] + "/hr");

 		//Barometer trend word
		if (x.responseText.split(' ')[15] == "in") {
		return set_ajax_obs("ajaxpresstrend",  ajax_get_barotrend(x.responseText.split(' ')[18] * 33.86388158));
		}
		else {
		return set_ajax_obs("ajaxpresstrend",  ajax_get_barotrend(x.responseText.split(' ')[18]));
		}
 
   }
    }
    x.open("GET", url, true);
    x.send(null);

    setTimeout("reset_ajax_color()",2000); // change text back to default color after 2 secs
    setTimeout("ajaxLoader('realtime.txt?'+new Date())", 6000); // get new data after 6 secs
                             
  }
}

// -->
And this one with ET and Solar Radiation:

Code: Select all

<!--
// Special thanks to: Kevin Reed http://www.tnetweather.com
// Special thanks to: Pinto http://www.joske-online.be
// Pinto wrote the basic AJAX code for this page!
//
// 25 oktober 2008 first try to write this script for Cumulus (http://sandaysoft.com)
//
// by Pinto
//
//added et, solar and UV november 2008
/////////////////////IMPORTAND NOTICE////////////////////////////////////////////////////////////////
//heat index is still pointing to outside temperature until steve releases a new version of cumulus
/////////////////////////////////////////////////////////////////////////////////////////////////////
//
// --- added flash-change on data update functions from Ken at http://www.saratoga-weather.org
// -- begin settings
//
//
var flashcolor = '#FF0000'; // color to flash for changed observations
var flashtime = '2000'; // miliseconds to keep flash color on (2000 = 2 seconds);
// -- end of settings 
var ie4=document.all;

function getElementsByName_iefix(tag, name) {

  var elem = document.getElementsByTagName(tag);
  var arr = new Array();
  for(i = 0,iarr = 0; i < elem.length; i++) {
    att = elem[i].getAttribute("name");
    if(att == name) {
      arr[iarr] = elem[i];
      iarr++;
    }
  }
return arr;
}

function reset_ajax_color( ) {
// reset all the <span name="ajax"...> styles to have no color override
  if (ie4) {
    elements = getElementsByName_iefix("span","ajax");
  } else {
    elements = document.getElementsByName("ajax");
  }
  numelements = elements.length;
  for (var index=0;index!=numelements;index++) {
    element = elements[index];
    element.style.color='';
  }
}


function set_ajax_obs( name, value ) {
// store away the current value in both the doc and the span as lastobs="value"
// change color if value != lastobs
  element = document.getElementById(name);
  lastobs = element.getAttribute("lastobs");
  element.setAttribute("lastobs",value);
  if (value != lastobs) {
    element.style.color=flashcolor;
  }
  element.innerHTML = value;
}
// --- end of flash-change functions
//
// --- begin of functions to convert values
//
var langBaroTrend = new Array (
 "Estable", "Pujant lentament", "Pujant ràpidament", "Baixant lentament", "Baixant ràpidament");

function ajax_get_barotrend(btrnd) {
// routine from Anole's wxsticker PHP (adapted to JS by Ken True)
// input: trend in hPa or millibars
//   Barometric Trend(3 hour)

// Change Rates
// Rapidly: =.06 inHg; 1.5 mm Hg; 2 hPa; 2 mb
// Slowly: =.02 inHg; 0.5 mm Hg; 0.7 hPa; 0.7 mb

// 5 conditions
// Rising Rapidly
// Rising Slowly
// Steady
// Falling Slowly
// Falling Rapidly

// Page 52 of the PDF Manual
// http://www.davisnet.com/product_documents/weather/manuals/07395.234-VP2_Manual.pdf
// figure out a text value for barometric pressure trend(1 hour)
   if ((btrnd >= -0.23) && (btrnd <= 0.23)) { return(langBaroTrend[0]); }
   if ((btrnd > 0.23) && (btrnd < 0.66)) { return(langBaroTrend[1]); }
   if (btrnd >= 0.66) { return(langBaroTrend[2]); }
   if ((btrnd < -0.23) && (btrnd > -0.66)) { return(langBaroTrend[3]); }
   if (btrnd <= -0.66) { return(langBaroTrend[4]); }
  return(btrnd);
}

function windrunUnit(windUnit) {
   if (windUnit == "m/s") { return " km"; }
   if (windUnit == "km/h") { return " km"; }
   if (windUnit == "mph") { return " miles"; }
   if (windUnit == "kts") { return " nm"; }
  return(windUnit);
}

var langBeaufort = new Array ( /* Beaufort 0 to 12 in array */
 "Calma", "Ventolina", "Vent Fluixet", "Vent Fluix", "Vent Moderat", "Vent Fresquet",
 "vent Fresc", "vent Fort", "Temporal", "Temporal Fort", "Temporal Molt Fort",
 "Temporal Violent", "Huracà"
);
//
// --- end of functions to convert values
//
function ajaxLoader(url) {
  if (document.getElementById) {
    var x = (window.ActiveXObject) ? new ActiveXObject("Microsoft.XMLHTTP") : new XMLHttpRequest();
  }
  if (x) {
    x.onreadystatechange = function() {
      if (x.readyState == 4 && x.status == 200) {

 		//updating text instead of " <#interval> minutes"        
		set_ajax_obs("ajaxintervaltext", "5 segons");

		//Temp
		temp = (x.responseText.split(' ')[2]+ " °" + x.responseText.split(' ')[14]);
		set_ajax_obs("ajaxtemp", temp);

		temptrend = (x.responseText.split(' ')[25]+ " °" + x.responseText.split(' ')[14] + "/hr");
		set_ajax_obs("ajaxtemptrend", temptrend);

 		//Time
		set_ajax_obs("ajaxtime", "Actualitzat a les: " + x.responseText.split(' ')[1] + " del " + x.responseText.split(' ')[0]);

		//Windchill
		set_ajax_obs("ajaxchill", x.responseText.split(' ')[24] + " °" + x.responseText.split(' ')[14]);

		//Humidity ...
		set_ajax_obs("ajaxhum", x.responseText.split(' ')[3] + "%");

		//Dewpt        
		set_ajax_obs("ajaxdewpt", x.responseText.split(' ')[4] + " °" + x.responseText.split(' ')[14]);
							
		//heat index        
		set_ajax_obs("ajaxheatindex", x.responseText.split(' ')[2] + " °" + x.responseText.split(' ')[14]);
							
 		//dayrain        
		set_ajax_obs("ajaxrfall", x.responseText.split(' ')[9] +  " " + x.responseText.split(' ')[16]);

 		//rainrate        
		set_ajax_obs("ajaxrrate", x.responseText.split(' ')[8] +  " " + x.responseText.split(' ')[16] + "/hr");

 		//rain month        
		set_ajax_obs("ajaxrmonth", x.responseText.split(' ')[19] +  " " + x.responseText.split(' ')[16]);

 		//rain year        
		set_ajax_obs("ajaxryear", x.responseText.split(' ')[20] +  " " + x.responseText.split(' ')[16]);

 		//wind latest        
		set_ajax_obs("ajaxwlatest", x.responseText.split(' ')[6] +  " " + x.responseText.split(' ')[13]);

 		//wind speed        
		set_ajax_obs("ajaxwspeed", x.responseText.split(' ')[5] +  " " + x.responseText.split(' ')[13]);

 		//windrun        
		set_ajax_obs("ajaxwindrun", x.responseText.split(' ')[17] + windrunUnit(x.responseText.split(' ')[13]));

 		//wind bearing        
		set_ajax_obs("ajaxavgbearing", x.responseText.split(' ')[7] +  "° " + x.responseText.split(' ')[11]);

 		//Beaufort        
		set_ajax_obs("ajaxbeaufort", "Escala Beaufort F" + x.responseText.split(' ')[12]);

 		//Beaufort word
		set_ajax_obs("ajaxbeaudesc", langBeaufort[x.responseText.split(' ')[12]]);

 		//Solar
		set_ajax_obs("ajaxsolar", x.responseText.split(' ')[45] + " W/m²");
 
		//ET
		set_ajax_obs("ajaxet", x.responseText.split(' ')[44] + " " + x.responseText.split(' ')[16]);
 
		//Barometer
		set_ajax_obs("ajaxpress", x.responseText.split(' ')[10] + " " + x.responseText.split(' ')[15]);

		//Barometer trend value and units        
		set_ajax_obs("ajaxpresstrendval", x.responseText.split(' ')[18] + " " + x.responseText.split(' ')[15] + "/hr");

 		//Barometer trend word
		if (x.responseText.split(' ')[15] == "in") {
		return set_ajax_obs("ajaxpresstrend",  ajax_get_barotrend(x.responseText.split(' ')[18] * 33.86388158));
		}
		else {
		return set_ajax_obs("ajaxpresstrend",  ajax_get_barotrend(x.responseText.split(' ')[18]));
		}
 
   }
    }
    x.open("GET", url, true);
    x.send(null);

    setTimeout("reset_ajax_color()",2000); // change text back to default color after 2 secs
    setTimeout("ajaxLoader('realtime.txt?'+new Date())", 5000); // get new data after 5 secs
                             
  }
}

// -->
I think is the same, but isn't !! When I use first one, I have barotrend word in spanish, but if I use second...don't change...I don't undersant what happens !!!

Re: Ajaxed index-page

Posted: Tue 09 Dec 2008 8:00 am
by pinto
nothing wrong with that second one, it's on my page now, I remove it 10 december local time.

You can see the code here

Re: Ajaxed index-page

Posted: Tue 09 Dec 2008 8:11 am
by meteotortosa
pinto wrote:nothing wrong with that second one, it's on my page now, I remove it 10 december local time.

You can see the code here
I haven't UV sensor, only Radiation Solar sensor. Can be this the problem?

Re: Ajaxed index-page

Posted: Tue 09 Dec 2008 8:16 am
by meteotortosa

Re: Ajaxed index-page

Posted: Tue 09 Dec 2008 8:18 am
by pinto
it's more a caching issue, try to delete the cache from your browser

screenshot attached (it is your page)