Vitotrol utilise un vieux service soap. Normal que ça marche. Ton script il se base sur mon code ou pas ? Histoire que je vérifie si c’est pas uniquement du a mon code ce problème
Il va falloir sniffer a nouveau le vicare vu que l’utilisation de ce dernier ne semble pas déclencher le blocage
Bon visiblement ils ont trouvé quelque chose de leur côté et devraient le fixer demain :
[@thetrueavatar] your assumption from above (calls counted based on « credentials ») is not correct. There was indeed an issue within the limitation, which I expect we will be having fixed tomorrow. However, I cannot say whether this is causing the problem for your implementation or not. So please make sure that your number of API calls are not exceeding the limitation once this is fixed.
Best,
Michael
Oui pour la procédure de connexion.
J’utilise les mêmes CONSUMERID et CONSUMERSECRET que ceux que vous avez donné sur ce post Viessmann Climate Solutions Community - Viessmann Climate Solutions Community (comme toutes les personnes qui utilisent votre API). Le x-api-key n’est pas utilisé.
C’est ceux de ce post de l’ancien forum Jeedom Api Viessmann pour récupération de données avec Vitoconnect - Forum Communauté Jeedom
Je pourrais utiliser des ID et SECRET différents, mais je n’ai pas la moindre idée de comment en récupérer.
Si c’est la cause du problème, il faudra donner une procédure de recup à tout ceux qui utilisent votre API ou attendre l’API Viessmann.
Je ne fais qu’une requête pour récupérer toutes les données.
J’ai un fichier cache pour contrer les requêtes trop rapprochées ( -de 1 minute ).
La requête pour le token n’est faite que quand il est périmé (3600s).
La requête pour l’installation et le gateway a été faite une seule fois l’année dernière.
Et depuis cet après-midi, aucune requête à Viessmann tant que le limitReset du ban n’est pas atteint.
C’est très simplifié. Un seul fichier, 600 lignes. Je n’ai pas d’action possible. Juste une récup des données.
JP
Certains utilisateurs disent que sous IOS c’est pas bloqué et bien sur android donc il est probable que le consumerId/consumerSecret soit différent et cause le blocage. Néanmoins, Viessmann a détecté un problème avec leur treshold et vont mettre en place un correctif. Espérons que ça résole le problème pour tous.
Sinon j’ai appris l’existence d’une interface web assez bien foutue(limite mieux que le ViCare) fournie par Viessmann:
http://vitoguide.viessmann.com/
Ca fonctionne même si ViCare est bloqué et donc peut permettre à ceux embêter de changer les paramètrs de leur chaudière malgré tout.
Bonjour @thetrueavatar
Ils ont enlevé mon ban. J’arrive à me connecter avec votre API, ViCare et mon script.
Les tests reprennent.
Un volontaire pour tester la limite des 120 par 10min pour voir la durée du ban ?
Ça serait bien qu’ils fournissent en même temps que toutes les données, l’état du nombre de requêtes.
J’ai mis l’exécution du script toutes les 2 minutes.
Pareil j’ai récupéré mon compte. J’ai pu tester ma cache et donc si on fait tous les appels dans le même run php ça ne fait que 4 appels max. 2 pour l’authentification, 1 pour récupérer les identifiants de l’insallation et 1 pour tous les appels.
Je pourrais supprimer le call de l’installation ceci dit pour ceux qui le passerait explicitement mais bon. Une cache persistent d’un appel à l’autre serait pas mal mais je me dis à priori que la « cache » c’est le jeedom et son polling interval…
https://iam.viessmann.com/idp/v1/authorize?client_id=79742319e39245de5f91d15ff4cac2a8&scope=openid&redirect_uri=vicare://oauth-callback/everest&response_type=code POST
https://iam.viessmann.com/idp/v1/token POST
https://api.viessmann-platform.io/general-management/installations GET
https://api.viessmann-platform.io/operational-data/installations/xxxx/gateways/YYYYYdevices/0/features/ GET
Salut
Si tu as besoin d’aide pour créer un plugin, n’hésite pas à demander. Au début ça paraît insurmontable mais quand tu as compris le fonctionnement ya rien de sorcier.
Après j’avoue que c’est beaucoup de temps à passer dessus surtout pour les thermostats.
Ben en fait comme déjà dit, je refuse de passer du temps sur un plugin jeedom Ca me prendrait trop de temps/énergie et me génèrerait trop de frustration. C’est pourquoi, libre à vous de faire un plugin :p.
Sinon le fichier example/GetAllInformation.php contient un exemple de méthode pour mettre à jour un virtuel sur base des résultats.
Ça peut être réduit:
-
Le token a une durée de vie d’une heure. Mais pas sur qu’il compte dans le quota. Le site est différent et quand j’étais banni, le renew du token fonctionnait.
-
Idem pour l’authentification. Quand on a un token valide, cette requête est inutile
-
L’installation et la gateway ne change jamais. Requête inutile. A faire une fois et mettre les valeurs dans votre credentials ?
-
Et une seule requête pour tout récupérer.
Sur leur community, pas eu de réponse à ma proposition pour qu’ils nous fournissent:
- Les seuils qu’ils disent vouloir faire évoluer selon leur besoin.
- Les requêtes consommées dans chaque limite dans le résultat de chaque requete.
Cela permettrait de moduler les requêtes selon l’utilisation.
Bonjour,
Viessmann a annoncé le développement en cours d’une API officielle et documentée.
Une API locale a été demandée. Lien dèjà donné plus haut par @thetrueavatar
Je n’ai pas fait de cache pour le token car je n’étais pas sûr que la requête comptait vu que c’est la partie authentification et non OAuth. Du coup, la flemme de risquer un effet de bord avec un faible ROI. Pour l’installation et le gateway je pourrais en effet proposer de définir ça dans la liste des params avec les credentials. Je pense que je vais le faire.
Oui ça permettrait une requête toutes les 2 minutes sans problème. ( Avec 50% de marge )
J’ai essayé 120 requêtes dans une boucle, le ban est de 10 minutes à partir de la première requête.
A voir comment ils feront évoluer les seuils.
Voila, j’ai dev en version 1.3.1 la possibilité de définir le gatewayId(3ème ligne) et installationId(4ème ligne) dans le credentials.properties. Si pas défini ça va chercher comme avant. Je devrais test 41 appel pour voir si l’authentificaiton compte.
J’ai fait un test rapide et la partie authentification n’a pas l’air d’être comptabilisée.
J’attend 10 minutes puis je fais 121 call pour valider défintivement.
Je confirme l’authentification ne compte pas. Du coup, mon api ne fait plus qu’une requête qui compte.
En version 1.4.0-SNAPSHOT j’ai ajouté les méthode getInstallationId et getGatewayId
Bonjour,
j’ai 2 soucis. le GetInstallationInformation.php me retourne la valeur 0!
avec la v4 je ne parviens plus a copier le fichier *.phar dans jeedom. même problème avec winvnc.
Y as t’il des restriction? faut il adapter les droits ?
Merci d’avance.
Denis
oups je veux dire winscp et non pas winvnc.