Google Script : Météo vers ZiBASE

Script Google permettant la lecture des données météo (température, vent et direction du vent) prévues dans X heures et transfert des données dans la Zibase.

Les données météo sont prélevées sur le site yr.no

/**
 * ========================================================================================================
 * Lit la météo sur le site yr.no et envoi la température et le vent du moment
 * ========================================================================================================
**/

var ZIBASE = "xxxxxxx";
var TOKEN = "xxxxxxx";
var Z_VARIABLE_TEMP = 9;
var Z_VARIABLE_VENT = 8;
var Z_VARIABLE_VENT_DIR = 7;

var DECALAGE_HEURES = 6;

var METEO = "http://www.yr.no/place/France/Rhône-Alpes/Valleiry/forecast_hour_by_hour.xml";

/**
 * --------------------------------------------------------------------------------------------------------
 * Envoi la température ET le vent
 * --------------------------------------------------------------------------------------------------------
**/
function meteo() {
 temperature();
 vent();
}

/**
 * --------------------------------------------------------------------------------------------------------
 * Envoi la température
 * --------------------------------------------------------------------------------------------------------
**/
function temperature() {
 var doc = parse();
 var temp = doc.weatherdata.forecast.tabular.time[DECALAGE_HEURES].temperature.value;
 envoi = UrlFetchApp.fetch("https://zibase.net/m/zapi_remote_zibase_set.php?device=" + ZIBASE + "&token="+ TOKEN + "&action=rowzibasecommand&param1=5&param2="+ (temp*10) + "&param3=1&param4=" + Z_VARIABLE_TEMP);
}

/**
 * --------------------------------------------------------------------------------------------------------
 * Envoi le vent (force et direction)
 * --------------------------------------------------------------------------------------------------------
**/
function vent() {
 var doc = parse();
 var vent = doc.weatherdata.forecast.tabular.time[DECALAGE_HEURES].windSpeed.mps;
 envoi = UrlFetchApp.fetch("https://zibase.net/m/zapi_remote_zibase_set.php?device=" + ZIBASE + "&token="+ TOKEN + "&action=rowzibasecommand&param1=5&param2="+ (vent*10) + "&param3=1&param4=" + Z_VARIABLE_VENT);
 var direction = doc.weatherdata.forecast.tabular.time[DECALAGE_HEURES].windDirection.deg;
 envoi = UrlFetchApp.fetch("https://zibase.net/m/zapi_remote_zibase_set.php?device=" + ZIBASE + "&token="+ TOKEN + "&action=rowzibasecommand&param1=5&param2="+ (direction*10) + "&param3=1&param4=" + Z_VARIABLE_VENT_DIR);
 
}

/**
 * --------------------------------------------------------------------------------------------------------
 * Parse le document XML
 * --------------------------------------------------------------------------------------------------------
**/
function parse() {
 var text = UrlFetchApp.fetch(METEO, {method : "post"}).getContentText();
 var doc = Xml.parse(text, true);
 return doc
}

6 thoughts on “Google Script : Météo vers ZiBASE”

  1. Bonjour Steven…..
    je viens de copier ton script (et mis mes identifiants avec ma localité).
    Que faut-il faire ensuite ?
    Faut-il créer un périphérique virtuel ?
    Comment ces données apparaissent-elles sur la Zibase ?
    Merci.

    1. Tiens c’est bizarre lorsque le script se lance il me coupe le périphérique A1 ????? (météo, temp ou vent)
      Sent radio ID (1 burst(s), Protocol=’X10′ ‘Chacon’):A1_OFF

      1. Arg, les URL comme elle apparaissent sur ce site sont fausses.

        &param est devenu &m

        UrlFetchApp.fetch(“https://zibase.net/m/zapi_remote_zibase_set.php?device=” + ZIBASE + “&token=”+ TOKEN + “&action=rowzibasecommand&m1=5&m2=”+ (direction*10) + “&m3=1&m4=” + Z_VARIABLE_VENT_DIR);

        Il faut remplacer les
        &m1 par &param1
        &m2 par &param2
        &m3 par &param3
        &m4 par &param4

Laisser un commentaire

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Changer )

Twitter picture

You are commenting using your Twitter account. Log Out / Changer )

Facebook photo

You are commenting using your Facebook account. Log Out / Changer )

Google+ photo

You are commenting using your Google+ account. Log Out / Changer )

Connecting to %s