Goldfinger Posté(e) le 25 avril Signaler Posté(e) le 25 avril Bonjour à tous, j'ai besoin d'aide sur un sujet pour lequel je ne trouve pas de solution. J'aurais voulu lire les valeurs de capteurs connecté à un ESP12 et ceci sous ESPHOME. L'avantage est la facilité de configuration via HA et la qualité de la bibliothèque de capteurs disponibles. J'ai dont réalisé une scène : --[[ %% properties %% events %% globals --]] -- Création de la requête HTTP local request = net.HTTPClient() -- Configuration de la requête request:request('http://192.168.1.215/sensor/temperature', { options = { method = 'GET', timeout = 10 }, success = function(response) -- Traitement de la réponse en cas de succès local data = json.decode(response.data) local temperature = data.temperature fibaro:debug("Température actuelle: " .. temperature .. "°C") end, error = function(error) -- Traitement de l'erreur en cas d'échec fibaro:debug("Erreur lors de la requête HTTP: " .. error) end }) et immanquablement, la réponse du debug est : "Erreur lors de la requête HTTP : operation canceled" Lorsque je lance la requête à partir de Chrome à savoir http://192.168.1.215/sensor/temperature, je reçois bien en retour le message me donnant la valeur de la température. En terme de réseau, j'ai un réseau câblé sur lequel est connecté la HC2 et l'ESP est connecté en wifi, le tout géré avec un UDM pro. Merci pour votre aide
Goldfinger Posté(e) le 30 avril Auteur Signaler Posté(e) le 30 avril Petite précision, quand je rentre la requête dans Chrome http://192.168.1.215/sensor/temperature, voici la réponse : {"id":"sensor-temperature","value":15.6,"state":"15.6 °C"}
jojo Posté(e) le 1 mai Signaler Posté(e) le 1 mai la HC2 c'est loooooin ... Mais ce que je crois voir de ton code : il s'agit d'une scène (et pas d'un VD) ? Je me demande si les request:request('http ... ne sont pas uniquement pour les VD (et donc pas les scènes) = essaye ton code dans un VD pour voir ce qu'il retourne. La réponse est sous forme de JSON. Il faudra donc faire un decode, nmais je ne connais plus l'instruction précise.
Goldfinger Posté(e) le 1 mai Auteur Signaler Posté(e) le 1 mai Merci pour la proposition. J'essaie ... et je croise les doigts
Goldfinger Posté(e) le 9 mai Auteur Signaler Posté(e) le 9 mai Bonjour, ça ne fonctionne pas dans un VD ... je continue mes investigations ... merci pour votre aide, si vous avez encore une idée ... elle est la bienvenue ;-)
henri-allauch Posté(e) le 9 mai Signaler Posté(e) le 9 mai Ton code (scène) parait correct sauf qu'il me semble que le timeout est en millisecondes donc tu devrais essayer timeout = 10*1000 Si cela ne fonctionne toujours pas : j'espère qu'il n'y a pas confusion entre : local request = net.HTTPClient() et request:request('http://192.168.1.215/sensor/temperature', { ..... Dans le doute : local HTTP = net.HTTPClient() HTTP:request Sinon comme cela fonctionne avec Chrome, cela devrait fonctionner avec ton code sur HC2 ...
Goldfinger Posté(e) le 22 mai Auteur Signaler Posté(e) le 22 mai Bonjour henri-allauch, merci pour ta proposition que je viens de tester : local HTTP = net.HTTPClient() -- Configuration de la requête HTTP:request('http://192.168.1.215/sensor/temperature', { options = { method = 'GET', timeout = 10*1000 }, success = function(response) -- Traitement de la réponse en cas de succès local data = json.decode(response.data) local temperature = data.temperature fibaro:debug("Température actuelle: " .. temperature .. "°C") end, error = function(error) -- Traitement de l'erreur en cas d'échec fibaro:debug("Erreur lors de la requête HTTP: " .. error) end }) et encore la réponse : [DEBUG] 22:19:05: Erreur lors de la requête HTTP: Operation canceled j'en perds mon latin ...
Messages recommandés