Aller au contenu

stipower

Membres confirmés
  • Compteur de contenus

    63
  • Inscription

  • Dernière visite

Réputation sur la communauté

8 Neutral

À propos de stipower

  • Rang
    Membre interessé

Profile Information

  • Sexe :
    Homme
  • Ville :
    Nantes
  • Box
    Home Center 2
  • Version
    4

Visiteurs récents du profil

891 visualisations du profil
  1. stipower

    Quick App - Enphase Envoy

    J'ai corrigé mon code de scène HD2 et ai ajouté un envoi de mail en cas de mauvais logins/password.
  2. stipower

    Quick App - Enphase Envoy

    Le VD qui va bien pour faire quoi ?
  3. stipower

    Quick App - Enphase Envoy

    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
  4. stipower

    Quick App - Enphase Envoy

    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
  5. stipower

    Quick App - Enphase Envoy

    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:
  6. stipower

    Quick App - Enphase Envoy

    Bonjour, Voici mon code pour une scène HD2 :
  7. stipower

    Quick App - Enphase Envoy

    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 ...
  8. stipower

    Quick App - Enphase Envoy

    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
  9. Mon code est 2 postes au dessus
  10. Merci pour tes réponses. Je vais donc passer par une scène avec httpClient.
  11. 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
  12. 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 ...
  13. 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.
  14. stipower

    HC2 & HCL - 4.503 - BETA - 28/06/2018

    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)
  15. 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.
×