Bloug 280 Signaler ce message Posté(e) 16 décembre 2022 (modifié) Ahh mais c'est pas pour Atlantic Mon petit QA Cozytouch marche bien ! là c'est pour ma chaudière Vaillant ! @Lazer je supose que si le protocole est TLSv1.2 c'est bal engagé ? Modifié 16 décembre 2022 par Bloug Partager ce message Lien à poster Partager sur d’autres sites
Bloug 280 Signaler ce message Posté(e) 16 décembre 2022 (modifié) Voila J'ai trouvé ! un truc de ouf ! bah en fait dans le header .... il faut tout tout virer et mettre juste : Cmd POST boiteacookies = cookie1..';'..cookie2 Et dans la Cmd GET [ 'Cookie' ] = boiteacookies, { "body": { "name": "PLANCHER ", "enabled": true, "active_function": "STANDBY", "inside_temperature": 24.9, "quick_veto": { "active": false, "setpoint_temperature": 23.0 } Modifié 16 décembre 2022 par Bloug Partager ce message Lien à poster Partager sur d’autres sites
mprinfo 3 357 Signaler ce message Posté(e) 16 décembre 2022 Oups tu es vraiment tordu pourquoi ne pas avoir pris tout chez atlantic ?Envoyé de mon BLA-L29 en utilisant Tapatalk Partager ce message Lien à poster Partager sur d’autres sites
Bloug 280 Signaler ce message Posté(e) 16 décembre 2022 Bah la chaudière c'est du Vaillant car le truc vendu (depuis 4) ans avec une API qui n'est toujours pas public depuis .... puis pour les sèche-serviettes c'est un truc électrique d'appoint .... plus pour l'option bluetooth pour écouter la musique et la gestion du Fil pilote ! d'ailleurs j'ai un module QUBINO Fil Pilote rail DIN inutile Partager ce message Lien à poster Partager sur d’autres sites
Sakkhho 469 Signaler ce message Posté(e) 10 décembre 2023 @Bloug tu avais réussi à communiquer avec ta chaudière VAILLANT finalement ? merci Partager ce message Lien à poster Partager sur d’autres sites
Bloug 280 Signaler ce message Posté(e) 11 décembre 2023 oui , je récupère les infos. + Température du Couloir ( là ou il y a le multimatic ) Comme je suis sur Plancher chauffant je touche jamais les réglages du coup c'est juste pour les états et Domocharts/Grafana Partager ce message Lien à poster Partager sur d’autres sites
Sakkhho 469 Signaler ce message Posté(e) 11 décembre 2023 Wow énorme. Un tuto un tuto !! Tu as quoi comme config ? Comment faire ? Mon installation PAC VAILLANT AeroTherm PLus VWL 85/6, avec plusieurs circuits d’où un VR71. VRC700 et des commandes VR91 pour la 2eme et 3eme zoneTu as aussi un VD920 ?A+Envoyé de mon iPhone en utilisant Tapatalk Partager ce message Lien à poster Partager sur d’autres sites
Bloug 280 Signaler ce message Posté(e) 12 décembre 2023 Salut, je me suis aidé du travail réalisé par Thomas Germain sur Home Assistant. Voici deux liens : https://github.com/thomasgermain et de mémoire j'ai bossé avec le script suivant : https://github.com/thomasgermain/pymultiMATIC/blob/master/script/print_response.ps1 Après c'est surtout un question de compatibilité car vaillant migre les utilisateurs "semble t'il" avec une nouvelle application ? Après pour simplifier c'est les étapes traditionnelles : N°1 - Récupération du Token N°2 - connexion avec le Token N°3 - Des commande Get pour récupérer des infos voici le début, Regardes si tu as qq retour ( positif de connexion ) et moi je fouille mes archives pour retrouver l'ensemble des cmd à tester UserName et Password : ceux utilisés pour te connecter avec l'app vaillant Serial : Disponible dans ton app vaillant ( connexion reseau ) N° de Serie print("<font color=purple>____________________________________________________________") print('<font color=red> Connexion N°1 - Récupération du Token ....</font>') self.http:request("https://smart.vaillant.com/mobile/api/v4/account/authentication/v1/token/new", { options={ method = "POST", data = '{ "smartphoneId": "pymultiMATIC", "username": "' .. log .. '", "password": "' .. pass .. '" }' , headers = { [ 'content-type' ] = 'application/json;charset=UTF-8', [ 'Accept-Encoding' ] = 'gzip', [ 'Accept' ] = 'application/json', [ 'Vaillant-Mobile-App' ] = 'multiMATIC v2.1.45 b389 (Android)', } }, success = function(response) if response.status == 200 then self:debug('Connexion : Ok ') token = json.decode(response.data).body.authToken print('Get Token : ' .. token ) self:login() else self:debug('Error : ' .. response.status .. response.data) self:updateProperty("deviceIcon", 1054) -- Icone API Offline end end, error = function(error) self:debug('error: ' .. error) end }) end -- N° 1 - Token function QuickApp:login() print('<font color=purple>____________________________________________________________') print('<font color=red> Connexion N°2 avec le Token : ' .. token ) self.http:request("https://smart.vaillant.com/mobile/api/v4/account/authentication/v1/authenticate", { options={ method = "POST", data = '{ "smartphoneId": "pymultiMATIC", "username": "' .. log .. '", "authToken": "' .. token .. '" }' , headers = { [ 'content-type' ] = 'application/json;charset=UTF-8', [ 'Accept' ] = 'application/json', [ 'Vaillant-Mobile-App' ] = 'multiMATIC v2.1.45 b389 (Android)', } }, success = function(response) if response.status == 200 then self:debug('Authentification avec le Token : Ok') SetCookie = response.headers['Set-Cookie'] cookie1,cookie2 = SetCookie:match("(.-);.-HttpOnly, (.-);") print( 'Récupération des Cookies : ') boiteacookies = cookie1..';'..cookie2 print(boiteacookies) self:GetConfig() -- Commande GET else self:debug('Error : ' .. response.status .. response.data) end end, error = function(error) self:debug('error: ' .. error) end }) end -- N° 2 - Auth function QuickApp:GetConfig() print("<font color=purple>____________________________________________________________") print('<font color=red> Connexion N°3 - Commande GET pour Tmps Int - Consigne - Fonctionnement' ) self.http:request('https://smart.vaillant.com/mobile/api/v4/facilities/'.. serial .. '/systemcontrol/v1/zones/Control_ZO1', { options={ method = "GET", headers = { [ 'content-type' ] = 'application/json', [ 'Accept' ] = 'application/json', [ 'Vaillant-Mobile-App' ] = 'multiMATIC v2.1.45 b389 (Android)', [ 'Cookie' ] = boiteacookies, }, }, success = function(response) if response.status == 200 then print('Connection Ok') VNameofzone = json.decode(response.data)["body"]["configuration"].name VInsideTemp = json.decode(response.data)["body"]["configuration"].inside_temperature VConsigne = json.decode(response.data)["body"]["heating"]["configuration"].setpoint_temperature VFonction = json.decode(response.data)["body"]["configuration"].active_function if VFonction == "STANDBY" then VFonction = "En Attente" self:updateProperty("deviceIcon", 1053) end if VFonction == "HEATING" then VFonction = "En Chauffe" self:updateProperty("deviceIcon", 1055) end local jsonResponse = json.decode(response.data) self:updateView("VNameofzone","text", " Nom de la Zone : " .. VNameofzone .. " " ) self:updateView("VConsigne","text", " T° Consigne : " .. VConsigne .. " °c " ) self:updateView("VInsideTemp","text", " T° Intérieure : " .. VInsideTemp .. " °c " ) self:updateView("VFonction","text", " Etat de la Chaudière : " .. VFonction .. " " ) self:GetConfig2() -- self:debug(response.data) else self:debug('Error : ' .. response.status .. response.data) end end, error = function(error) self:debug('error: ' .. error) end }) end -- N° 3 - Tmps Int - Consigne - Fonctionnement 1 Partager ce message Lien à poster Partager sur d’autres sites
Sakkhho 469 Signaler ce message Posté(e) 12 décembre 2023 Génial. Merci. Je n’ai pas encore la maison donc je peux pas tester. Je dois installer un VR921 d après le mec qui a fait l installation déjà pour pour piloter à distance car en l état l ancien proprio n avait pas prévu. Une fois toute installé je testerai. Envoyé de mon iPhone en utilisant Tapatalk Partager ce message Lien à poster Partager sur d’autres sites
Bloug 280 Signaler ce message Posté(e) 13 décembre 2023 Oui, c'est le module qui permet de te connecter via rj45. Donc prise RJ proche de la chaudière. Bon courage et n'hésite pas ! 1 Partager ce message Lien à poster Partager sur d’autres sites
Sakkhho 469 Signaler ce message Posté(e) 17 décembre 2023 Top, une fois toute installé je testerai ton code. merci Partager ce message Lien à poster Partager sur d’autres sites
Sakkhho 469 Signaler ce message Posté(e) 3 mai (modifié) @Bloug me voila connecté sur Myvaillant comment s'appelle ta fonction au debut du code ? est ce qu'il ne manque pas une ligne ? si tu peux extraire ta QA ca sera meme plus simple, je suis pas doué pour les QAs... merci Modifié 3 mai par Sakkhho Partager ce message Lien à poster Partager sur d’autres sites
Bloug 280 Signaler ce message Posté(e) 4 mai Salut @Sakkhho , Désolé, j'ai réalisé dernière mise a jour sur MyVaillant (nouvelle App) et api et du coup j'ai perdu la connexion avec mon QA. j'ai pas eu le temps de chercher et modifier :s voic mon QA : Vaillant.fqa j'ai viré rapidos mes pass (je pense ) et j'ai sup mon numero de serie sur les lignes : 411, 447, 489,787 mois j'suis moins doué en QA donc surement pleins de chosessss pas bien faites Courage Partager ce message Lien à poster Partager sur d’autres sites
Sakkhho 469 Signaler ce message Posté(e) 4 mai (modifié) Hello @Bloug Ah oui je suis aussi sur MyVaillant donc ca ne va pas fonctionner comme toi je vais tester quand meme et voir ce que cela dit edit : bon j'ai remplacé le ***SERIAL*** mais comme la QA est pas bavarde je ne sais pas dire ce qui ne va pas et le boulot etait tellement enorme que je suis incapable d'aider sauf pour faire les tests :-) Modifié 4 mai par Sakkhho Partager ce message Lien à poster Partager sur d’autres sites
jojo 2 620 Signaler ce message Posté(e) 5 mai Le 04/05/2024 à 11:39, Bloug a dit : et j'ai sup mon numero de serie sur les lignes : 411, 447, 489,787 je n'ai pas regardé le code, mais une variable définie dans le onInit, ne serait pas plus simple anonymiser le code pour éviter de reproduire (avec des fautes de frappe potentielles) la même info à plusieurs endroits Partager ce message Lien à poster Partager sur d’autres sites