stipower
Membres confirmés-
Compteur de contenus
63 -
Inscription
-
Dernière visite
-
J'ai corrigé mon code de scène HD2 et ai ajouté un envoi de mail en cas de mauvais logins/password.
-
Le VD qui va bien pour faire quoi ?
-
Salut Lazer, Je comprends. Bon, un collègue m'a débloqué, j'ai pu terminé mon script. Je poste mon Code pour scène HC2 qui est maintenant fonctionnel. Ca peut toujours servir à quelqu'un : -- GetEnphaseToken --[[ %% autostart %% properties %% events %% globals --]] -- récupère le Token de Enphase pour faire les connexion sur le boitier Envoy local IDNotifMailAdmin = 2 local TempsDeBoucle = 24 * 3600 * 1000 -- 1 journée function RequestHTTP() -- ************************************ Get SessionID ************************************ local EnphaseURLlogin = "https://enlighten.enphaseenergy.com/login/login.json?" local EnphaseURLToken = "https://entrez.enphaseenergy.com/tokens" local envoy_serial = "XXXXXXXX" -- sérial de l'installation Enphase local user ="XXXXXXXX" local password = "XXXXXXXX" local SessionID local http = net.HTTPClient() local DataEnphaseURLlogin = '{"user": {"email": "'.. user .. '", "password": "' .. password .. '"}}' -- attendu : DataEnphaseURLlogin = '{"user": {"email": "XXXX", "password": "XXXX"}}' fibaro:debug("Get session_id") http:request(EnphaseURLlogin, { options = { checkCertificate = false, method = 'POST', headers = { ['Accept'] = 'application/json', ['Content-Type'] = 'application/json', }, data = DataEnphaseURLlogin, timeout = 10000 }, success = function(response) --fibaro:debug(response.status) if (response.status == 200 or response.status == 201) and type(response.data) == "string" and response.data ~= "" then -- réponse OK --fibaro:debug(response.data) --[[ reponse attendue : {"message":"success", "session_id":"9beb21c28d7893090e9c42746830bdba", "manager_token":"eyJhbGciOiJIUzI......1NiJ9.eyJkYXRh", "is_consumer":true,"system_id":2438074} --]] SessionID = json.decode(response.data) SessionID = SessionID.session_id fibaro:debug("session_id = " .. SessionID) -- ************************************ Get Token ************************************ fibaro:debug("Get Token") local DataEnphaseURLToken = '{"session_id" : "' .. SessionID .. '", "serial_num" : "' .. envoy_serial .. '", "username" : "' .. user .. '"}' -- attendu : DataEnphaseURLToken = '{"session_id" : "XXXX", "serial_num" : "XXXX", "username" : "XXXX"}' http:request(EnphaseURLToken, { options = { checkCertificate = false, method = 'POST', headers = { ['Accept'] = 'application/json', ['Content-Type'] = 'application/json', }, data = DataEnphaseURLToken, timeout = 10000 }, success = function(response) --fibaro:debug(response.status) if (response.status == 200 or response.status == 201) and type(response.data) == "string" and response.data ~= "" then if type(response.data) == "string" and response.data ~= "" then -- réponse OK --fibaro:debug(response.data) local Token = response.data fibaro:debug("Token = " .. Token) fibaro:setGlobal("TokenEnphase",Token) --> envoie du Token dans une variable globale else -- réponse Pas OK fibaro:debug('GetEnphaseToken response code : ' .. response.status) local msg = 'GetEnphaseToken response code : ' .. response.data fibaro:debug(msg) SendMail(msg) end end end, error = function(err) local msg = "GetEnphaseToken Erreur : " .. err fibaro:debug(msg) SendMail(msg) end, } ) else -- réponse Pas OK fibaro:debug('GetEnphaseSession response code : ' .. response.status) local msg = 'GetEnphaseSession response code : ' .. response.data fibaro:debug(msg) SendMail(msg) end end, error = function(err) local msg = "GetEnphaseSession Erreur : " .. err fibaro:debug(msg) SendMail(msg) end, } ) end function SendMail(MsgErr) fibaro:call(IDNotifMailAdmin, 'sendEmail', 'HC2 Erreur EnphaseToken', os.date("%x " .. "%X") .. " " .. MsgErr) end function loop() fibaro:debug(os.date("%x " .. "%X")) RequestHTTP() setTimeout(loop,TempsDeBoucle) end setTimeout(loop,0) Code corrigé le 23/03/2024
-
Salut Lazer, Merci d'avoir répondu. J'ai déjà pas mal étudié ton code tout le dimanche. Je n'ai pas les compétences pour tout comprendre et l'adapter à la HC2. Mais je ne suis pas pressé, donc quand tu auras le temps à l'occaz
-
Bonjour, Je cherche à automatiser la génération de token Envoy pour ma HC2 . Je bloque sur la 1ère étape qui consiste à s'authentifier sur https://enlighten.enphaseenergy.com/login/login.json? et récupérer le session_id. Je récupère un string de 50017 caractères alors que je devait récupérer un json du type : On dirait que je reçois tout le site en html avec la page d'auth et tout. Merci pour votre aide. doc : https://mesgeekeries.ch/2023/11/04/decouvrir-les-api-enphase-iq-gateway-envoy-s/ Mon code dans une scène HC2 : erreurs corrigés : voir post plus loin Le résultat : [DEBUG] 19:15:11: {"user[password]":"YYYYY","user":"XXXXXX"} [DEBUG] 19:15:11: Get session_id [DEBUG] 19:15:13: response.status : [DEBUG] 19:15:13: 200 [DEBUG] 19:15:13: response.data : type = string [DEBUG] 19:15:13: response.data : string.len = 50017 [DEBUG] 19:15:13: response.data (caract 1110 à 1249): [DEBUG] 19:15:13: Energy - Enlighten | Sign in to Enlighten [DEBUG] 19:15:13: [DEBUG] 19:15:13:
-
Bonjour, Voici mon code pour une scène HD2 :
-
Merci, c'est super. Je vais regarder cela et poster mon code au cas ou ca intéresse quelqu'un sur HD2. Même si ca sera beaucoup moins pro que toi ...
-
Salut Lazer, Je suis sur HC2. J'essaye de faire un truc un peu comme toi (en moins poussé), pour continuer à manager ma production/consommation électrique sur quelques secondes. Je voudrais m'inspirer de ton code pour corriger/améliorer le miens. Je n'arrive pas à éditer ton fqa. Ca me fait planter notrepad++. Pourrais-tu partager ton code en clair ? Merci
-
Mon installation photovoltaïque en autoconsommation
stipower a répondu à un sujet de Lazer dans Mon installation domotique
Mon code est 2 postes au dessus- 933 réponses
-
Mon installation photovoltaïque en autoconsommation
stipower a répondu à un sujet de Lazer dans Mon installation domotique
Merci pour tes réponses. Je vais donc passer par une scène avec httpClient.- 933 réponses
-
Mon installation photovoltaïque en autoconsommation
stipower a répondu à un sujet de Lazer dans Mon installation domotique
Je poste mes trouvailles. Ce code fonctionne pour les scènes avec net.HTTPClient : Je cherche comment le faire avec Net.Fhttp pour mon VD, mais je bloques sur les "headers". Quelqu'un sait comment mettre des headers avec Net.Fhttp ? -> : Error in FHttp- 933 réponses
-
Mon installation photovoltaïque en autoconsommation
stipower a répondu à un sujet de Lazer dans Mon installation domotique
Salut Lazer, Peux-tu partager le code de ta QA sur ton HC3 ? Ca pourrait peut-être m'aider. PS : convecteur électrique = 100% de rendement, mais tu oublies le rendement de la création de l'énergie électrique, qui est une Energie secondaire, contrairement au bois/gaz ...- 933 réponses
-
Mon installation photovoltaïque en autoconsommation
stipower a répondu à un sujet de Lazer dans Mon installation domotique
Bonjour Nico (et les autres !), Comme beaucoup de monde je pense suite à la mise à jour imposée de mon Envoyi y a un mois, je n'ai plus de remontées , donc je n'ai plus de gestion pilotée d'énergie (chauffe eau et autres). Il faut que je change mon code pour y inclure le token. J'utilisais à peut près ce code sans le Token avec l'ancienne version d'Envoy. Aurais-tu le code d'un VD HD2 avec la gestion du token pour l'Envoy V7 ? Je galère à trouver les infos dessus Merci et bonne journée.- 933 réponses
-
Bonjour, Merci pour ce super module php. Je suis en train de chercher pourquoi une commande sur un de mes actionneur mets jusqu'à 90 sec pour être exécutée. Ca va m'aider un peu. Un question : que veut dire le nombre qui est sur chaque lien sur le schéma ? Merci à vous. -> Je viens de comprendre. Ca désigne le module maitre. (par ou ca passe)
-
Tuto Multimédia Graph De Température, Humidité, Consommation...sur Nas
stipower a répondu à un sujet de Lazer dans Tutoriels
Bonjour, D'abord merci pour le temps passé à développer Domachart et faire la procédure d'installation. Je l'utilise depuis pas mal de mois maintenant et c'est top. Mon problème : J'ai un erreur sur le graph energy. Je vois bien tous mes modules, mais le graph est vide depuis des mois. J'ai ce message d'erreur sur ma HC2 dans le debug du Virtual Device (partir Energy): [DEBUG] 11:47:52: Error 1062 : SQLSTATE[23000] Duplicate entry '2021-11-12-133' for key 'device_date' Auriez-vous une piste pour résoudre le problème ? Je vous remercie.- 1 285 réponses
-
- graphiques
- nas
-
(et %d en plus)
Étiqueté avec :