nigamais Posté(e) le 29 mars 2015 Signaler Posté(e) le 29 mars 2015 personne a la même erreur que moi c'est pas possible ?
mprinfo Posté(e) le 29 mars 2015 Signaler Posté(e) le 29 mars 2015 @nigamais je pense que tu as un soucis au niveau du json qui récupère les températures mais je peux pas t'aider car j'y connais pas grand chose
nigamais Posté(e) le 29 mars 2015 Signaler Posté(e) le 29 mars 2015 @mprinfo c'est bizarre j'importe juste le fichier.
mprinfo Posté(e) le 29 mars 2015 Signaler Posté(e) le 29 mars 2015 C'est pour cela que je n arrive pas a comprendre il faudrait voir ce que tu as comme reponse json Envoyé de mon SM-G900F en utilisant Tapatalk
pepite Posté(e) le 29 mars 2015 Auteur Signaler Posté(e) le 29 mars 2015 commencons par le debut ;-) essaie ca : http://IP@HC2/api/settings/location et dis nous ce que tu as
mprinfo Posté(e) le 29 mars 2015 Signaler Posté(e) le 29 mars 2015 la partie la fonctionne il a le nom de la ville c'est la partie json ou on récupère les infos sur le site météo qui pose probléme
pepite Posté(e) le 29 mars 2015 Auteur Signaler Posté(e) le 29 mars 2015 alors essayons cela dans un bouton ;-) et donne le debug ;-). Quand pensez-vous ? HC2 = Net.FHttp("127.0.0.1",11111); local response, status, errorCode = HC2:GET("/api/settings/location"); if (tonumber(errorCode) == 0) then jsonTable = json.decode(response); fibaro:debug(jsonTable.latitude); fibaro:debug(jsonTable.longitude); fibaro:debug(jsonTable.city); end local date = os.date("%d/%m/%y %H:%M") local lat = (jsonTable.latitude); local lng = (jsonTable.longitude); local ville = (jsonTable.city); HC2 = Net.FHttp("www.prevision-meteo.ch",80); -- documentation : http://www.prevision-meteo.ch/uploads/pdf/recuperation-donnees-meteo.pdf local response, status, errorCode = HC2:GET("/services/json/lat=" .. lat .. "lng=" .. lng); if (tonumber(errorCode) == 0) then jsonTable = json.decode(response); fibaro:debug("aujourd'hui : " .. jsonTable.current_condition.tmp .. "°c - " .. jsonTable.current_condition.condition); else fibaro:debug("error "..errorCode ) end
mprinfo Posté(e) le 29 mars 2015 Signaler Posté(e) le 29 mars 2015 moi je réduirai ma recherche comme cela il faut renseigner la latitude et la longitude a la main local lat = --a renseigner local lng = --a renseigner HC2 = Net.FHttp("www.prevision-meteo.ch",80); -- documentation : http://www.prevision-meteo.ch/uploads/pdf/recuperation-donnees-meteo.pdf local response, status, errorCode = HC2:GET("/services/json/lat=" .. lat .. "lng=" .. lng); if (tonumber(errorCode) == 0) then jsonTable = json.decode(response); fibaro:debug("aujourd'hui : " .. jsonTable.current_condition.tmp .. "°c - " .. jsonTable.current_condition.condition); else fibaro:debug("error "..errorCode ) end
pepite Posté(e) le 29 mars 2015 Auteur Signaler Posté(e) le 29 mars 2015 pourquoi pas oui, mais au moins avec le json de la HC2 on est sur de la lat et de la long :-), pas d'erreur de saisie ;-) au fait mprinfo, attention a la position de ton bouton dans la V2 avec Affichage de sunset et sunrise sinon ton main loop ne fait rien, il faut adapter le pressbutton ;-)
mprinfo Posté(e) le 29 mars 2015 Signaler Posté(e) le 29 mars 2015 Oui c'est vrai tu as raison mais lol je pense savoir d’où vient le probléme donc je réduis la recherche. Par contre pour la saisie je sais plus si c'est un . ou ,
nigamais Posté(e) le 30 mars 2015 Signaler Posté(e) le 30 mars 2015 moi je réduirai ma recherche comme cela il faut renseigner la latitude et la longitude a la main local lat = --a renseigner local lng = --a renseigner HC2 = Net.FHttp("www.prevision-meteo.ch",80); -- documentation : http://www.prevision-meteo.ch/uploads/pdf/recuperation-donnees-meteo.pdf local response, status, errorCode = HC2:GET("/services/json/lat=" .. lat .. "lng=" .. lng); if (tonumber(errorCode) == 0) then jsonTable = json.decode(response); fibaro:debug("aujourd'hui : " .. jsonTable.current_condition.tmp .. "°c - " .. jsonTable.current_condition.condition); else fibaro:debug("error "..errorCode ) end Merci a tous de vos aides.j'ai encore essayé avec vos codes et toujours en debug: 1 DémarrerArrêterNettoyer [ERROR] 08:41:38: line 12: Expected value but found invalid token at character 1
pepite Posté(e) le 30 mars 2015 Auteur Signaler Posté(e) le 30 mars 2015 Bijour, Heu ton debug envoie directement sur ta HC2 ;-)
mprinfo Posté(e) le 30 mars 2015 Signaler Posté(e) le 30 mars 2015 Tu dois avoir un soucis reseau A priori ton hc2 àun accès limitée et ne peu récupérer les données sur le site météo ce soir je te dirai comment faire un test pour etre sur que ca viens de la Envoyé de mon SM-G900F en utilisant Tapatalk
Lazer Posté(e) le 30 mars 2015 Signaler Posté(e) le 30 mars 2015 Merci a tous de vos aides.j'ai encore essayé avec vos codes et toujours en debug: 1 DémarrerArrêterNettoyer [ERROR] 08:41:38: line 12: Expected value but found invalid token at character 1 Y'a de grandes chance que ce soit un problème d'encodage du JSON en UTF8 avec BOM (Byte Order Mark). Je te laisse faire une recherche, mais essaye d'afficher les 3 premiers caractères cachés de ta chaine response en hexadecimal; et tu devrais y trouver 3 caractères bizarres, qui sont le BOM. Si c'est le cas, soit tu demande au site d'encoder proprement ses pages, soit tu supprimes manuellement les 3 premiers caractères de ta chaine pour contourner le problème. Bon courage, moi je vais faire dodo
nigamais Posté(e) le 31 mars 2015 Signaler Posté(e) le 31 mars 2015 Déjà ,ça ne viens pas du site car plusieurs personnes on le même virtual device et ça fonctionne,quelqu'un peux m'aider sachant que je m'y connais pas en LUA et je suis un newbie.Merci a tous.
nigamais Posté(e) le 1 avril 2015 Signaler Posté(e) le 1 avril 2015 (modifié) Personne pour m'aider ? Modifié le 1 avril 2015 par nigamais Bonsoir, inutile de citer un message situé juste au dessus.
Lazer Posté(e) le 1 avril 2015 Signaler Posté(e) le 1 avril 2015 Nigamais, tu peux essayer ceci et nous copier ce que tu vois : HC2 = Net.FHttp("127.0.0.1",11111); local response, status, errorCode = HC2:GET("/api/settings/location"); if (tonumber(errorCode) == 0) then jsonTable = json.decode(response); fibaro:debug(jsonTable.latitude); fibaro:debug(jsonTable.longitude); fibaro:debug(jsonTable.city); end local date = os.date("%d/%m/%y %H:%M") local lat = (jsonTable.latitude); local lng = (jsonTable.longitude); local ville = (jsonTable.city); HC2 = Net.FHttp("www.prevision-meteo.ch",80); -- documentation : http://www.prevision-meteo.ch/uploads/pdf/recuperation-donnees-meteo.pdf local payload = "/services/json/lat=" .. lat .. "lng=" .. lng --fibaro:debug(payload); local response, status, errorCode = HC2:GET(payload); if (tonumber(errorCode) == 0 and tonumber(status) == 200) then fibaro:debug("string.len(response) = " .. string.len(response)); for i = 1, 6 do fibaro:debug( "0x" .. string.format('%02X', string.byte(response, i)) .. " : " .. response:sub(i,i) ); end jsonTable = json.decode(response); fibaro:debug("aujourd'hui : " .. jsonTable.current_condition.tmp .. "°c - " .. jsonTable.current_condition.condition); else fibaro:debug("errorCode="..errorCode .. " , status="..status ) end
nigamais Posté(e) le 1 avril 2015 Signaler Posté(e) le 1 avril 2015 @Lazer j'ai mis tout ça dans un vd et voila le résultat. [DEBUG] 21:37:03: 52.25 [DEBUG] 21:37:03: 16.53 [DEBUG] 21:37:03: Doazon [DEBUG] 21:37:03: string.len(response) = 142 [DEBUG] 21:37:03: 0x43 : C [DEBUG] 21:37:03: 0x6F : o [DEBUG] 21:37:03: 0x6F : o [DEBUG] 21:37:03: 0x72 : r [DEBUG] 21:37:03: 0x64 : d [DEBUG] 21:37:03: 0x6F : o [ERROR] 21:40:55: line 31: Expected value but found invalid token at character 1
Lazer Posté(e) le 1 avril 2015 Signaler Posté(e) le 1 avril 2015 ah ouais y'a un vrai problème là . Je pense que tes coordonnées LAT LON ne sont pas bonnes, ça ne ressemble à rien. Du coup le site Web d'envoi un message pour te dire que c'est pas bon : Coordonnées hors limites : veuillez indiquer une latitude comprise entre 41.3000° et 51.9000° et une longitude entre -5.2000° et 10.7000° Oh punaise, t'es tout à coté de Denguin, faut que tu viennes l'année prochaine aux rencontres domotique-info
nigamais Posté(e) le 1 avril 2015 Signaler Posté(e) le 1 avril 2015 Oui j'ai pas pu venir cette année,Pascal est un super pot,je l'ai encore vu ce matin.Est ce qu'il y a une soluce pour mon problème ?
Lazer Posté(e) le 1 avril 2015 Signaler Posté(e) le 1 avril 2015 Cool Etrange coà¯ncidence il vient de m'ajouter il y a 1h sur Linkedin oui c'est tout simple pour ton problème, il faut que tu trouves des coordonnées GPS avec Google maps. Il y a un tuto pour ça je crois....
nigamais Posté(e) le 1 avril 2015 Signaler Posté(e) le 1 avril 2015 Punaise,depuis ce temps,vraiment merci beaucoup ,le problème de coordonnés .
Lazer Posté(e) le 1 avril 2015 Signaler Posté(e) le 1 avril 2015 Par contre le site est un peu mal programmé, car il devrait envoyer une réponse JSON même quand il y a une erreur afin de signaler le problème.
nigamais Posté(e) le 1 avril 2015 Signaler Posté(e) le 1 avril 2015 peut être mais tu as trouver super.
Messages recommandés