S.A.R.A.H
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.


Intelligence artificielle et domotique
 
AccueilPortailDernières imagesS'enregistrerConnexion
-23%
Le deal à ne pas rater :
EVGA SuperNOVA 650 G6 – Alimentation PC 100% modulaire 650W, 80+ ...
77.91 € 100.91 €
Voir le deal

 

 Résolu:Plugin Meteo

Aller en bas 
2 participants
AuteurMessage
Xtazy




Messages : 10
Date d'inscription : 02/10/2019

Résolu:Plugin Meteo  Empty
MessageSujet: Résolu:Plugin Meteo    Résolu:Plugin Meteo  Icon_minitimeVen 4 Oct - 13:26

Salut à tous,

j'en profite pour vous dire que c'est un super Forum très instructif, une fois le projet avancé j'en profiterais pour partager mon expérience.

je me lance dans un projet domotique pour une maison neuve et je cherchais comment faire fonctionner les Plugins qui ont des erreur comme par exemple météo.

Une fois le serveur SARAH lancé et le micro connecté au serveur, j'envoie ma commande vocale et il m’affiche plusieurs erreur lié au script.

Il reçoit bien la commande de l'heure et cela fonctionne.

Auriez vous quelques pistes sur ces erreurs svp?

Voici une copie de la commande de l'heure:
Code:
 Found:{ cmd 'time',
options:
  { confidence: '0.8865762',
    client: 'SARAH1',
    profile: 'Unknow_7380',
    directory: 'C:\\Users\\..\\sarah\\macros',
    body: {} },
 timeOfDay: 47837.422,
 dayOfWeek: 5,
 dayOfMonth: 4,
 location: 'house',
 count: 1 }
info: Run time: 9ms


et celle de la météo:

error: Caught exception: SyntaxError: Unexpected token <
   at Object.parse (native)
   at scrap (C:\Users\..\sarah\plugins\meteo\meteo.js:48:21)
   at Request._callback (C:\Users\..\sarah\plugins\meteo\meteo.js:21:12)
   at Request.self.callback (C:\Users\..\sarah\NodeJS\node_modules\npm\node
_modules\request\index.js:148:22)
   at Request.EventEmitter.emit (events.js:98:17)
   at Request.<anonymous> (C:\Users\..\sarah\NodeJS\node_modules\npm\node_m
odules\request\index.js:876:14)
   at Request.EventEmitter.emit (events.js:117:20)
   at IncomingMessage.<anonymous> (C:\Users\..\sarah\NodeJS\node_modules\np
m\node_modules\request\index.js:827:12)
   at IncomingMessage.EventEmitter.emit (events.js:117:20)
   at _stream_readable.js:910:16

Edit: d’après ce que j'ai constater lors des recherches, ce plugin est très dépendant de la source sur laquelle il va chercher les info météo.
Du faite que météo France ai complètement réorganisé son site, le lien URL n'est plus le même..
De le meteo.js il faudrait changer l'URL avec le nouveau JSON sauf que comment trouver cette URL??:
Code:
var action = function(data, callback, config, SARAH){

  // Retrieve config
  config = config.modules.meteo;
  if (!config.zip){
    console.log("Missing Meteo config");
    callback({'tts' : 'Zip code invalide'});
    return;
  }
  
  var url = 'http://www.meteo-france.mobi/ws/getDetail/france/'+(data.zip || config.zip)+'.json'
  var request = require('request');
  
  request({ 'uri' : url }, function (err, response, body){
  
    if (err || response.statusCode != 200) {
      callback({'tts': "L'action a échoué"});
      return;
    }

    last = scrap(body, data.date || config.date);
    callback(last);
  });
}
exports.action = action;

Il faut aussi remplacer le ZIP code dans le fichier XML et le fichier prop par le nouveau chiffre qui est relativement facile a trouver;
Il faut aller sur météo France widget : [Vous devez être inscrit et connecté pour voir ce lien]
Pour paris 1er arrondissement c'est le code 751010 dans l'url ci dessus.

Si quelqu'un peut m'aider a refaire ce plugin utile..

merci de votre aide cheers


Dernière édition par Xtazy le Sam 19 Oct - 16:16, édité 1 fois
Revenir en haut Aller en bas
Invité
Invité




Résolu:Plugin Meteo  Empty
MessageSujet: Re: Résolu:Plugin Meteo    Résolu:Plugin Meteo  Icon_minitimeDim 6 Oct - 11:03

%%


Dernière édition par halim le Ven 1 Nov - 14:48, édité 1 fois
Revenir en haut Aller en bas
Xtazy




Messages : 10
Date d'inscription : 02/10/2019

Résolu:Plugin Meteo  Empty
MessageSujet: Re: Résolu:Plugin Meteo    Résolu:Plugin Meteo  Icon_minitimeDim 6 Oct - 14:20

Bonjour,
serait il possible de m'aider à scraper le site car le plugin ne marche plus en l’état.
Code:
var action = function(data, callback, config, SARAH){

  // Retrieve config
  config = config.modules.meteo;
  if (!config.zip){
    console.log("Missing Meteo config");
    callback({'tts' : 'Zip code invalide'});
    return;
  }
  
  var url = 'http://www.meteo-france.mobi/ws/getDetail/france/'+(data.zip || config.zip)+'.json'
  var request = require('request');
  
  request({ 'uri' : url }, function (err, response, body){
  
    if (err || response.statusCode != 200) {
      callback({'tts': "L'action a échoué"});
      return;
    }

    last = scrap(body, data.date || config.date);
    callback(last);
  });
}
exports.action = action;

// ==========================================
//  INIT
// ==========================================

var last = false;
exports.last = function(){  
  if (!last){
    action({}, function(){}, SARAH.ConfigManager.getConfig(), SARAH);
  }
  return last;
};

var SARAH = false;
exports.init = function(bot){ SARAH = bot; }

// ==========================================
//  SCRAP
// ==========================================

var scrap = function(body, date){

  var meteo  = JSON.parse(body).result;
  var json   = { tts : 'Météo: '};
  var prev   = getPrevision(meteo, date);

  json.place = meteo.ville.nom;
  json.temp  = prev.temperatureMin + '°C';
  json.sun   = prev.description;
  
  json.tts  += json.place + ": ";
  json.tts  += day[prev.jour+'_'+prev.moment]+', ';
  json.tts  += json.sun + ', '
  
  if (prev.temperatureMin != prev.temperatureMax){
    json.tts  += 'température entre ' + prev.temperatureMin + ' et ' + prev.temperatureMax + ' degrés';
  } else {
    json.tts  += 'température de ' + prev.temperatureMin + ' degrés';
  }
 
  return json;
}

var getPrevision = function(meteo, date){
  var prevision = meteo.previsions;
  
  if (date.length > 2){
    return prevision[date];
  }
  
  date = parseInt(date);
  for (var p in prevision){ if (date-- <= 0) return prevision[p];  }
}

var day = {
  '0_matin': 'ce matin',
  '0_midi' : 'ce midi',
  '0_soir' : 'ce soir',
  '0_nuit' : 'cette nuit',
  '1_matin': 'demain matin',
  '1_midi' : 'demain midi',
  '1_soir' : 'demain soir',
  '1_nuit' : 'la nuit prochaine',
  '2_matin': 'après demain matin',
  '2_midi' : 'après demain midi',
  '2_soir' : 'après demain soir',
  '2_nuit' : 'dans 2 nuits'
}

ou pointent data.zip et config.zip dans l'url?

le site de météo indique ces données
Résolu:Plugin Meteo  Sans_t10
comment on les intègres?

Merci
Revenir en haut Aller en bas
Invité
Invité




Résolu:Plugin Meteo  Empty
MessageSujet: Re: Résolu:Plugin Meteo    Résolu:Plugin Meteo  Icon_minitimeDim 6 Oct - 15:34

%%


Dernière édition par halim le Ven 1 Nov - 14:47, édité 1 fois
Revenir en haut Aller en bas
Xtazy




Messages : 10
Date d'inscription : 02/10/2019

Résolu:Plugin Meteo  Empty
MessageSujet: Re: Résolu:Plugin Meteo    Résolu:Plugin Meteo  Icon_minitimeMar 8 Oct - 18:06

Salut j'ai déjà essayé mais sans succès car le lien ne pointe plus vers les données.
Revenir en haut Aller en bas
Invité
Invité




Résolu:Plugin Meteo  Empty
MessageSujet: Re: Résolu:Plugin Meteo    Résolu:Plugin Meteo  Icon_minitimeDim 13 Oct - 20:19

%%


Dernière édition par halim le Ven 1 Nov - 14:46, édité 1 fois
Revenir en haut Aller en bas
Invité
Invité




Résolu:Plugin Meteo  Empty
MessageSujet: Re: Résolu:Plugin Meteo    Résolu:Plugin Meteo  Icon_minitimeJeu 17 Oct - 20:00

%%


Dernière édition par halim le Ven 1 Nov - 14:46, édité 1 fois
Revenir en haut Aller en bas
Xtazy




Messages : 10
Date d'inscription : 02/10/2019

Résolu:Plugin Meteo  Empty
MessageSujet: Re: Résolu:Plugin Meteo    Résolu:Plugin Meteo  Icon_minitimeSam 19 Oct - 14:38

Merci je vais essayer!
Revenir en haut Aller en bas
Xtazy




Messages : 10
Date d'inscription : 02/10/2019

Résolu:Plugin Meteo  Empty
MessageSujet: Re: Résolu:Plugin Meteo    Résolu:Plugin Meteo  Icon_minitimeSam 19 Oct - 16:15

T'es un Dieu!!
J'ai juste eu besoin de changer l'Url, et le fichier paramètre aussi afin de l'adapter a ma ville.
Merci beaucoup

Petite question supplémentaire: si je veux scrapper la balise span, comment on fait?
car le h3 ça marche bien. j'ai vu que tu avais mis > div.front.multiple > h3.

Edit: finalement j'y suis arrivé en tâtonnant: #quarters > div > div > div > div > div.cellText > span
Revenir en haut Aller en bas
L'auteur de ce message est actuellement banni du forum - Voir le message
Contenu sponsorisé





Résolu:Plugin Meteo  Empty
MessageSujet: Re: Résolu:Plugin Meteo    Résolu:Plugin Meteo  Icon_minitime

Revenir en haut Aller en bas
 
Résolu:Plugin Meteo
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Plugin meteo
» Plugin TV SAMSUNG
» Plugin JEUX
» Problème paramétrage SARAH/DOMOTICZ RESOLU
» Plugin HeureDateEvenements

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
S.A.R.A.H :: Plugin s.a.r.a.h V3.2.0 :: Plugin s.a.r.a.h V3.2.0-
Sauter vers: