jjacques68 Posté(e) le 22 septembre 2016 Signaler Partager Posté(e) le 22 septembre 2016 bonjour, J'essaye en vain d'envoyer une valeur à ThingSpeak via une scène et j'y arrive pas... (je peux le faire marcher très bien depuis un VD) Mais pour une scène, je trouve pas la bonne syntaxe : Voici ce que je fais : local TS = net.HTTPClient() TS:request("http://api.thingspeak.com/update", { options = {method = 'POST', headers = {['api_key'] = "xxxxxxxxx&field1=1"},}, success = function(response) fibaro:debug("ok") end, error = function(reponse) fibaro:debug("Error: " ..response) end }) Quelqu’un à une idée ? Merciii ! Lien vers le commentaire Partager sur d’autres sites More sharing options...
jojo Posté(e) le 22 septembre 2016 Signaler Partager Posté(e) le 22 septembre 2016 je suis loin d'être un pro des appels http, et encore mois dans les scènes. Mais àla lecture de ta syntaxe elle est parfaitement similaire àce que je fait pour un GET. La seule différence est que je n'ai pas de "headers". Est-ce làqu'il y aurait une erreur ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
jjacques68 Posté(e) le 22 septembre 2016 Auteur Signaler Partager Posté(e) le 22 septembre 2016 ben je sais pas trop, j'ai essayer plein de combinaisons, d'après la doc des api de ThinkSpeak... Dans leur doc, ils disent : POST https://api.thingspeak.com/update api_key=XXXXXXXXXXXXXXXX field1=73 mais j' n'arrive pas à trouver la syntaxe pour ça !!! Lien vers le commentaire Partager sur d’autres sites More sharing options...
Moicphil Posté(e) le 23 septembre 2016 Signaler Partager Posté(e) le 23 septembre 2016 Salut Peut tu essayer avec ca ? thingspeak = Net.FHttp('api.thingspeak.com') local field_nb = 1 local number = 1 payload = 'key=VOTREAPKEY&field'.. field_nb .. '='..number" response, status, errorCode = thingspeak:POST('/update', payload) if tonumber(status) == 200 then break; end Lien vers le commentaire Partager sur d’autres sites More sharing options...
pepite Posté(e) le 23 septembre 2016 Signaler Partager Posté(e) le 23 septembre 2016 Salut, je pense comme Moicphil, àmon avis depuis une scene c'est FHttp, et depuis le VD "HTTP" Lien vers le commentaire Partager sur d’autres sites More sharing options...
jojo Posté(e) le 23 septembre 2016 Signaler Partager Posté(e) le 23 septembre 2016 moi, j'ai HTTP dans mes scènes, et ça fonctionne. Lien vers le commentaire Partager sur d’autres sites More sharing options...
jjacques68 Posté(e) le 23 septembre 2016 Auteur Signaler Partager Posté(e) le 23 septembre 2016 bonjour, merci pour vos réponse, mais non cela ne marche pas : [DEBUG] 16:59:40: line 1: attempt to index global 'Net' (a nil value) mais c'est à cause du net.HTTP (ou FHHTP). Dans une scène c'est pas bon... jamais réussi à le faire fonctionner... Lien vers le commentaire Partager sur d’autres sites More sharing options...
jojo Posté(e) le 23 septembre 2016 Signaler Partager Posté(e) le 23 septembre 2016 as-tu essayé avec net et Net ? C'est cases sensitive Lien vers le commentaire Partager sur d’autres sites More sharing options...
jjacques68 Posté(e) le 23 septembre 2016 Auteur Signaler Partager Posté(e) le 23 septembre 2016 toujours même résultat Lien vers le commentaire Partager sur d’autres sites More sharing options...
Moicphil Posté(e) le 23 septembre 2016 Signaler Partager Posté(e) le 23 septembre 2016 Ca doit marcher dans une scène, d'ailleurs plusieurs VD sur ce forum fonctionnent avec une scène dédiée gérant les requêtes. Par exemple, ce script de @krikroff > http://www.domotique-fibaro.fr/index.php/topic/6362-hc2-waze-calculator/ Lien vers le commentaire Partager sur d’autres sites More sharing options...
jjacques68 Posté(e) le 23 septembre 2016 Auteur Signaler Partager Posté(e) le 23 septembre 2016 ben suis désolé mais marche pas... Mais c'est pas la première fois que je galère avec les net.http !! y a pas un tuto qui explique comment ça fonctionne ??? Lien vers le commentaire Partager sur d’autres sites More sharing options...
971jmd Posté(e) le 23 mai 2017 Signaler Partager Posté(e) le 23 mai 2017 salut a tous est-ce que quelqu'un est arrivée a faire fonctionne le script dans une scène ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
jjacques68 Posté(e) le 23 mai 2017 Auteur Signaler Partager Posté(e) le 23 mai 2017 Nan, toujours pas, si tu trouves la solution, merci de la poster Lien vers le commentaire Partager sur d’autres sites More sharing options...
pepite Posté(e) le 24 mai 2017 Signaler Partager Posté(e) le 24 mai 2017 Bonjour, Avez-vous tenté cela ? cela fonctionne dans énormément de scènes partagées sur le forum par les experts. local client = net.HTTPClient() client:request("http://..............") 2 Lien vers le commentaire Partager sur d’autres sites More sharing options...
971jmd Posté(e) le 27 mai 2017 Signaler Partager Posté(e) le 27 mai 2017 salut voila j'ai fini par trouver --[[ %% properties 107 power %% events %% globals --]] thingspeak = Net.FHttp('api.thingspeak.com') local field1 = fibaro:getValue(107, "power") payload = "key=xxxxxxxxxxxxxxx&field2="..field1 response, status, errorCode = thingspeak:POST('/update', payload) fibaro:debug(status) 2 Lien vers le commentaire Partager sur d’autres sites More sharing options...
yoim Posté(e) le 4 juin 2017 Signaler Partager Posté(e) le 4 juin 2017 @971jmd Marche pas chez moi. Ton power c'est comme value ? J'ai ca comme erreur : [DEBUG] 23:05:56: line 8: attempt to index global 'Net' (a nil value) --[[ %% properties 11 power %% events %% globals --]] thingspeak = Net.FHttp('api.thingspeak.com') local field1 = fibaro:getValue(11, "power") payload = "key=APINUMBER&field1="..field1 response, status, errorCode = thingspeak:POST('/update', payload) fibaro:debug(status) Lien vers le commentaire Partager sur d’autres sites More sharing options...
yoim Posté(e) le 4 juin 2017 Signaler Partager Posté(e) le 4 juin 2017 @jjacques68 Solution testé et validé. Merci @pepite pour le debut de code. --[[ %% autostart %% properties %% weather %% events %% globals --]] local source = fibaro:getSourceTrigger() local delay = 300 -- in seconds -- 5 mn function Run() local Hour = os.date("%H:%M") fibaro:debug("Hour : " ..Hour) local Maintenant = os.date("*t") local heure = Maintenant['hour'] fibaro:debug("Heure var num " .. heure); local client = net.HTTPClient() local TempExt = tonumber(fibaro:getValue(242, "value")); local EauPiscine = tonumber(fibaro:getValue(241, "value")); local EauSpa = tonumber(fibaro:getValue(239, "value")); -- Temp Salon local plop = tonumber(fibaro:getValue(247, "value")); local plop2 = tonumber(fibaro:getValue(11, "value")); local total = ((plop + plop2) / 2 ) -- Temp etage local plop3 = tonumber(fibaro:getValue(62, "value")); local plop4 = tonumber(fibaro:getValue(170, "value")); local total1 = ((plop3 + plop4) / 2 ) -- Temp Bureau YO local Yo = tonumber(fibaro:getValue(280, "value")); -- Temp SDB local SDB = tonumber(fibaro:getValue(208, "value")); local loop = 1 if loop == 1 or heure >= 0 then client:request("https://api.thingspeak.com/update?api_key=APINUMBER&field1=" .. TempExt.. "&field2=" .. EauPiscine.. "&field3=" .. EauSpa.. "&field4=" .. total.. "&field5=" .. total1.. "&field6=" .. Yo.. "&field7=" .. SDB ) fibaro:debug("Send Temperature") end setTimeout(Run, delay*1000) end -- Main Loop if source["type"] == "autostart" or source["type"] == "other" then Run() end J'ai du code qui sert a rien comme loop ... ou heure >=0 Je ferais le menage du code plus tard adaptez le en fonction de vos besoins. Soon. Lien vers le commentaire Partager sur d’autres sites More sharing options...
jjacques68 Posté(e) le 4 juin 2017 Auteur Signaler Partager Posté(e) le 4 juin 2017 Ok je prends note, merci Lien vers le commentaire Partager sur d’autres sites More sharing options...
971jmd Posté(e) le 4 juin 2017 Signaler Partager Posté(e) le 4 juin 2017 @971jmd Marche pas chez moi. Ton power c'est comme value ? J'ai ca comme erreur : [DEBUG] 23:05:56: line 8: attempt to index global 'Net' (a nil value) --[[%% properties11 power%% events%% globals--]]thingspeak = Net.FHttp('api.thingspeak.com')local field1 = fibaro:getValue(11, "power") payload = "key=APINUMBER&field1="..field1response, status, errorCode = thingspeak:POST('/update', payload)fibaro:debug(status) Non power et value c'est deux valeurs différentes Power remonte la consommation EtValue remonte si on ou off ou ouverte ou fermée .....Envoyé de mon iPhone en utilisant Tapatalk Lien vers le commentaire Partager sur d’autres sites More sharing options...
yoim Posté(e) le 5 juin 2017 Signaler Partager Posté(e) le 5 juin 2017 Ok merci @971jmd Par contre avec ton code j'ai toujours cette erreur : [DEBUG] 09:55:07: line 8: attempt to index global 'Net' (a nil value) Ca fonctionne chez toi ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
pepite Posté(e) le 5 juin 2017 Signaler Partager Posté(e) le 5 juin 2017 @yoil, normal pour l erreur si tu mets dans une scene. Net.fhttp ne fonctionne que dans un VD Net.httpclient dans une scene et supporte le httpsEnvoyé de mon Nexus 5X en utilisant Tapatalk Lien vers le commentaire Partager sur d’autres sites More sharing options...
yoim Posté(e) le 6 juin 2017 Signaler Partager Posté(e) le 6 juin 2017 ok pour l'envoie des données, je fais une scene qui active mon bouton toute les 5 mn ? @pepite Lien vers le commentaire Partager sur d’autres sites More sharing options...
pepite Posté(e) le 6 juin 2017 Signaler Partager Posté(e) le 6 juin 2017 Salut @yoim, Si tu fais une scène avec le code fonctionnel de @971jmd ca ne tourne pas chez toi ? https://www.domotique-fibaro.fr/topic/9049-envoyer-une-valeur-vers-thingspeak-depuis-une-scã¨ne/?do=findComment&comment=162767 Lien vers le commentaire Partager sur d’autres sites More sharing options...
971jmd Posté(e) le 6 juin 2017 Signaler Partager Posté(e) le 6 juin 2017 (modifié) salut fait attention au &field1 : key=xxxxxxxxxxxxxxx&field1="..conso --[[ %% properties 107 power %% events %% globals --]] thingspeak = Net.FHttp('api.thingspeak.com') local conso = fibaro:getValue(107, "power") payload = "key=xxxxxxxxxxxxxxx&field1="..conso response, status, errorCode = thingspeak:POST('/update', payload) fibaro:debug(status) Modifié le 6 juin 2017 par 971jmd Lien vers le commentaire Partager sur d’autres sites More sharing options...
971jmd Posté(e) le 6 juin 2017 Signaler Partager Posté(e) le 6 juin 2017 désolé mai j'ai pas coller le bon code --[[ %% properties 547 power %% events %% globals --]] local field1 = fibaro:getValue(547, "power") -- http requete local http = net.HTTPClient() http:request("https://api.thingspeak.com/update?api_key=WZ97TDW1FEYN617N&field2="..field1, {options = { method = 'GET' }, success = function(response) fibaro:debug("OK") end, error = function(err) fibaro:debug("Error: " ..err) end }) 1 Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés