plugin meteo version 1.0
4 participants
Page 1 sur 1
plugin meteo version 1.0
nouveau plugin meteo avec des syntaxe moderne aync/await, c'est une version 1.0 parceque la régle est limité pou la géolocalisation, pour le moment il donne la météo avec géolocalisation automatique de la ville, et donne aussi la méteo par la senstence de la plupart des villes du monde entier
je n'ais encore regarder l'api pour avoir la méteo sous 3 jours
- api géolocalisation: http://ip-api.com/json/,
- api méteo sur le site: https://api.openweathermap.org
{
"modules": {
"Meteo": {
"version": "1.0",
"name": "meteo",
"cleApi": "c21a75b667d6f7abb81f118dcf8d4611",
"rules": ["weather"]
}
}
}
exports.init = function () {
meteoConf = {
cleApi: Config.modules.Meteo.cleApi,
};
};
exports.action = function (data, callback) {
let client = setClient(data);
info("Meteo from:", data.client, "To:", client);
meteo(data, client, callback);
};
function meteo(data, client) {
if (!meteoConf.cleApi) {
Avatar.speak(`La configuration de météo est manquante`, data.client, () => {
Avatar.Speech.end(data.client);
});
return;
}
async function climat() {
let city;
try {
const locationResponse = await fetch('http://ip-api.com/json/');
if (!locationResponse.ok) {
throw new Error(`Code erreur: ${locationResponse.status}`);
}
const locationData = await locationResponse.json();
city = locationData.city;
} catch (error) {
Avatar.speak(`Je n'arrive pas à obtenir la localisation: ${error.message}`, data.client, () => {
Avatar.Speech.end(data.client);
});
return;
}
let location = data.action.rawSentence.replace(/quelle est la météo à|donne-moi la météo à|quelle est la météo au|donne-moi la météo au|la|météo|à|au/gi, "").trim();
let query = (location !== "") ? location : city;
let apiUrl = `https://api.openweathermap.org/data/2.5/weather?q=${query.toLowerCase().replace("é", "e")}&lang=fr&appid=${meteoConf.cleApi}&units=metric`;
try {
const response = await fetch(apiUrl);
if (!response.ok) {
throw new Error(`Code erreur: ${response.status}`);
}
const meteoData = await response.json();
if (location) {
Avatar.speak(`Météo pour ${location}, Temps: ${meteoData.weather[0].description}, la température est de ${Math.round(meteoData.main.temp)} degrés, la vitesse du vent est de ${Math.round(meteoData.wind.speed)} km/h, les températures prévues entre ${Math.round(meteoData.main.temp_min)} et ${Math.round(meteoData.main.temp_max)} degrés`, data.client, () => {
Avatar.Speech.end(data.client);
});
} else {
Avatar.speak(`Météo pour ${city}. Temps: ${meteoData.weather[0].description}, la température est de ${Math.round(meteoData.main.temp)} degrés, la vitesse du vent est de ${Math.round(meteoData.wind.speed)} km/h, les températures prévues entre ${Math.round(meteoData.main.temp_min)} et ${Math.round(meteoData.main.temp_max)} degrés`, data.client, () => {
Avatar.Speech.end(data.client);
});
}
} catch (error) {
Avatar.speak(`Je n'arrive pas à accéder au site météo: ${error.message}`, data.client, () => {
Avatar.Speech.end(data.client);
});
return;
}
}
climat();
}
function setClient(data) {
let client = data.client;
if (data.action.room)
client = (data.action.room !== 'current') ? data.action.room : (Avatar.currentRoom) ? Avatar.currentRoom : Config.default.client;
if (data.action.setRoom)
client = data.action.setRoom;
return client;
}
je n'ais encore regarder l'api pour avoir la méteo sous 3 jours
- api géolocalisation: http://ip-api.com/json/,
- api méteo sur le site: https://api.openweathermap.org
{
"modules": {
"Meteo": {
"version": "1.0",
"name": "meteo",
"cleApi": "c21a75b667d6f7abb81f118dcf8d4611",
"rules": ["weather"]
}
}
}
exports.init = function () {
meteoConf = {
cleApi: Config.modules.Meteo.cleApi,
};
};
exports.action = function (data, callback) {
let client = setClient(data);
info("Meteo from:", data.client, "To:", client);
meteo(data, client, callback);
};
function meteo(data, client) {
if (!meteoConf.cleApi) {
Avatar.speak(`La configuration de météo est manquante`, data.client, () => {
Avatar.Speech.end(data.client);
});
return;
}
async function climat() {
let city;
try {
const locationResponse = await fetch('http://ip-api.com/json/');
if (!locationResponse.ok) {
throw new Error(`Code erreur: ${locationResponse.status}`);
}
const locationData = await locationResponse.json();
city = locationData.city;
} catch (error) {
Avatar.speak(`Je n'arrive pas à obtenir la localisation: ${error.message}`, data.client, () => {
Avatar.Speech.end(data.client);
});
return;
}
let location = data.action.rawSentence.replace(/quelle est la météo à|donne-moi la météo à|quelle est la météo au|donne-moi la météo au|la|météo|à|au/gi, "").trim();
let query = (location !== "") ? location : city;
let apiUrl = `https://api.openweathermap.org/data/2.5/weather?q=${query.toLowerCase().replace("é", "e")}&lang=fr&appid=${meteoConf.cleApi}&units=metric`;
try {
const response = await fetch(apiUrl);
if (!response.ok) {
throw new Error(`Code erreur: ${response.status}`);
}
const meteoData = await response.json();
if (location) {
Avatar.speak(`Météo pour ${location}, Temps: ${meteoData.weather[0].description}, la température est de ${Math.round(meteoData.main.temp)} degrés, la vitesse du vent est de ${Math.round(meteoData.wind.speed)} km/h, les températures prévues entre ${Math.round(meteoData.main.temp_min)} et ${Math.round(meteoData.main.temp_max)} degrés`, data.client, () => {
Avatar.Speech.end(data.client);
});
} else {
Avatar.speak(`Météo pour ${city}. Temps: ${meteoData.weather[0].description}, la température est de ${Math.round(meteoData.main.temp)} degrés, la vitesse du vent est de ${Math.round(meteoData.wind.speed)} km/h, les températures prévues entre ${Math.round(meteoData.main.temp_min)} et ${Math.round(meteoData.main.temp_max)} degrés`, data.client, () => {
Avatar.Speech.end(data.client);
});
}
} catch (error) {
Avatar.speak(`Je n'arrive pas à accéder au site météo: ${error.message}`, data.client, () => {
Avatar.Speech.end(data.client);
});
return;
}
}
climat();
}
function setClient(data) {
let client = data.client;
if (data.action.room)
client = (data.action.room !== 'current') ? data.action.room : (Avatar.currentRoom) ? Avatar.currentRoom : Config.default.client;
if (data.action.setRoom)
client = data.action.setRoom;
return client;
}
halim- Messages : 89
Date d'inscription : 19/11/2022
Frederic aime ce message
Re: plugin meteo version 1.0
ça me rappelle quelque chose ce bout de code.
Frederic- Messages : 5
Date d'inscription : 02/05/2023
Re: plugin meteo version 1.0
fred,
je ne comprend pas ton message, c'est a dire ca rappel quoi?
je ne comprend pas ton message, c'est a dire ca rappel quoi?
halim- Messages : 89
Date d'inscription : 19/11/2022
Re: plugin meteo version 1.0
J'ai juste dit que ça me rappeler un bout de code que j'avais fait pour Sophie à une époque, il n'y avait rien de méchant dans mes propos...
Je pense que tu comprends maintenant pourquoi j'ai dit ça.
Je pense que tu comprends maintenant pourquoi j'ai dit ça.
Frederic- Messages : 5
Date d'inscription : 02/05/2023
Sophie aime ce message
Re: plugin meteo version 1.0
comme tu l'as bien expliquer: sarah v3.16 est révolue et en retard depuis plusieurs année (sauf la v5 en node red), et je crois le forum actif sarah doit etre supprimer, il ne sert a rien. sur avatar je suis peux etre le seul utilisateur en plus je suis encore débutant en programmation, donc je ne peux pas apporter grand chose, en plus mes plugins doit etre valider (c'est normal je ne suis pas développeur, mes plugins pourront ne pas etre correctement développer)et c'est vrais AVATAR est en retard du manque beaucoup de plugins
sur jarvis je pense il y a que fred utilisateur, et laurent veux toujours rester sur projet(jarvis)
si j'ai une suggestion on passe tous sur un seul projet ; basé sur le développent et le respect(pas de critique, pas de jalousie, pas d'insulte) refaire tous les anciens plugins obsolete ou non fonctionnel avec du javascript moderne.
je donne mon avis par un peux de connaissance sur le language js(node js), et je ne dit pas ca pour critiquer les autres projets), je pense pour le moment l'assistant vocal le plus fiable c'est l'application A.V.A.T.A.R, aprés chacun fait son choix
sur jarvis je pense il y a que fred utilisateur, et laurent veux toujours rester sur projet(jarvis)
si j'ai une suggestion on passe tous sur un seul projet ; basé sur le développent et le respect(pas de critique, pas de jalousie, pas d'insulte) refaire tous les anciens plugins obsolete ou non fonctionnel avec du javascript moderne.
je donne mon avis par un peux de connaissance sur le language js(node js), et je ne dit pas ca pour critiquer les autres projets), je pense pour le moment l'assistant vocal le plus fiable c'est l'application A.V.A.T.A.R, aprés chacun fait son choix
halim- Messages : 89
Date d'inscription : 19/11/2022
Re: plugin meteo version 1.0
halim a écrit:si j'ai une suggestion on passe tous sur un seul projet ; basé sur le développent et le respect(pas de critique, pas de jalousie, pas d'insulte) refaire tous les anciens plugins obsolete ou non fonctionnel avec du javascript moderne
Pour info ça a déjà été testé par certaines personnes et ils se sont tous vite aperçus qu'ils n'y avaient aucuns intérêt de faire des alliances d'aide avec certains groupes. Car aucuns partages de ces mêmes groupes si juste des insultes car beaucoup sont forts derrière leurs écrans a insulté mais aucuns est capable de créer un objet de a à z.
Frederic- Messages : 5
Date d'inscription : 02/05/2023
Re: plugin meteo version 1.0
faire une alliance , ce n'est pas vraiment une solution pour développer sur different projet, faut travailler ensemble sur un seul et meme projet
c'est pourquoi je suggere l'application AVATAR pour ses fonctionnalité, l'appli AVATAR intègre des options qui étaient là avant meme la sortie de google home ou alexa;
l'appli AVATAR utilise nlp (Traitement du Langage Naturel et du multiroom) que ca ne se feras jamais sur les projets sarah/jarvis
sur AVATAR ca existe une centaine de nouveaux plugins développer avec du javascript moderne, personnissable a souhait, et que on trouve pas ni sur sarah jarvis google home ou alexa;
aprés fred tu fait ce que tu veux ;
ce n'est plus comme avant l'époque la période de google + (ca fait au moins 12 ans depuis)
voila
c'est pourquoi je suggere l'application AVATAR pour ses fonctionnalité, l'appli AVATAR intègre des options qui étaient là avant meme la sortie de google home ou alexa;
l'appli AVATAR utilise nlp (Traitement du Langage Naturel et du multiroom) que ca ne se feras jamais sur les projets sarah/jarvis
sur AVATAR ca existe une centaine de nouveaux plugins développer avec du javascript moderne, personnissable a souhait, et que on trouve pas ni sur sarah jarvis google home ou alexa;
aprés fred tu fait ce que tu veux ;
ce n'est plus comme avant l'époque la période de google + (ca fait au moins 12 ans depuis)
voila
halim- Messages : 89
Date d'inscription : 19/11/2022
discutions
Frederic a écrit:J'ai juste dit que ça me rappeler un bout de code que j'avais fait pour Sophie à une époque, il n'y avait rien de méchant dans mes propos...
Je pense que tu comprends maintenant pourquoi j'ai dit ça.
Oui, c'est le bout d'un petit code que tu m'avais donner et que j'ai refiler à Halim comme je te l'avait dit, car à l'époque je voulais que nos assistant évolue ensemble différemment.
Je sais que nous sommes pas sur le même projet mais on a tous le même objectif entre guillemet bien sur, Avatar, Jarvisia et Sarah vit grâce à NodeJS donc comme tu me l'avais dit "le principe est le même le problème c'est les HATERS profiteurs"
Je pense que tu as raison, certains reste dans le passé avec des VBScript ou des Macros chacun est libre de faire comme il veut mais je pense que Halim, Stéphane, Laurent et toi vous pouvez faire évoluer les choses certes par rapport à votre projet mais au moins vous partager.
Modérateur si mon message dérange , je m'en excuse.
Sophie- Messages : 11
Date d'inscription : 06/12/2020
Age : 23
Localisation : Chartres
Frederic aime ce message
Re: plugin meteo version 1.0
bonjour, ton message ne dérange pas du tout, puisque ce que tu dit est vrais, sarah appartient aux passé avec ses + de 500 membres et leurs forums vide, meme sarah la v5 est périmé, en plus 80 % des plugins de sarah ne sont plus fonctionnel( ils ont seulement 2 choix s'ils veulent utilser les assisatants vocaux open source: passer sur avatar ou sur jarvis)
jarvisIA c'est un nouveau systeme il est bien toujours met a jour par laurent , mais pour le moment moi je reste sur AVATAR
ps : j'éspere les memebres de sarah les connaissance(christophe, dom, clark kent, le hibou, ne seront pas faché de mon post ce que j'ai sur le projet sarah
jarvisIA c'est un nouveau systeme il est bien toujours met a jour par laurent , mais pour le moment moi je reste sur AVATAR
ps : j'éspere les memebres de sarah les connaissance(christophe, dom, clark kent, le hibou, ne seront pas faché de mon post ce que j'ai sur le projet sarah
halim- Messages : 89
Date d'inscription : 19/11/2022
Re: plugin meteo version 1.0
Bonjour Halim non moi je ne me fâche car je te comprends la ou je ne te comprends pas en revanche tu parles d'un assistant virtuel qui est mis à jour régulièrement par nôtre Laurent poubelle et son fidèle acolyte le doberman et sa copine qui nous fabriquent des plugins en veux tu en voilà avec Pokémon hourra as tu comparer réellement Avatar et son Jarvis IA tu as due voir la gestion des plugins graphiquement rien à dire sur Avatar la ou je te rejoins les plugins sont tous morts la méthode de création de scénarios pareil rien à dire la méthode est simple intuitive et efficace et bien expliquée sur Avatar il y a jeune sur YouTube avec qui je parle régulièrement il a fait une vidéo qui explique comment relier un serveur Node JS avec une page Chrome moi je t'invite à bien regarder les vidéos de ton ami Laurent attarder et tu verras des incohérences maintenant regarde bien ce qu'a dit le créateur sur l'adaptation de Avatar sur Linux Windows et mac il y aura quelques choses de bien et sans trucage alors Halim j'ai vue que tu porter des lunettes Avatar est un framework un programme ou il y a beaucoup d'innovations et d'idées Sarah il y a ou il y avait beaucoup d'innovations ou d'idées mais l'autre il y a que de la copie et de la médisance le créateur a été très clair ne cite pas de nom fait vivre Avatar fait de belles vidéos comme tu sais le faire et ne parle plus de personne qui t'insulte tu as mis un code de météo tout le monde sait que Laurent bretelles qui est derrière fait vivre Avatar tu veux que les gens te suivent alors plonge les dans une immersion totale et écoute ce qu'on te dit quoi que tu fasse lui et son clébard feront tout pour vous discréditer dernièrement c'est l'apprentie sorcier du hiboux qui en a fait les frais Avatar à beaucoup de potentiel il y a pas de doute la dessus alors continue et je te souhaite bon courage Halim PS je ne répondrai pas à la pestilence ici par politesse à ce forum
Clark Kent- Messages : 2
Date d'inscription : 31/01/2023
Age : 43
Localisation : Bussy ST George
Re: plugin meteo version 1.0
bonjour clark, merci pour ton commentaire
tu m'as encore fait rire : Halim j'ai vue que tu porter des lunettes Avatar,
passe un bon dimanche
tu m'as encore fait rire : Halim j'ai vue que tu porter des lunettes Avatar,
passe un bon dimanche
halim- Messages : 89
Date d'inscription : 19/11/2022
Sujets similaires
» Plugin Météo
» plugin méteo obsolete
» Nouvelle version Plugin Scenariz
» plugin pushover
» plugin Radio
» plugin méteo obsolete
» Nouvelle version Plugin Scenariz
» plugin pushover
» plugin Radio
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
|
|