Depuis hier , j’ai un soucis avec les requêtes vers l’API qui ne passent plus, échec http 429 too many requests… j’ai effectué environ 50 requêtes https vers https://fcutappli.frisquet.com/api depuis le 15/11 via le plugin script.
Lancement depuis ssh
root@DEBIAN12:/var/www/html/plugins/script/data# ./FrisquetSet.sh ********@gmail.com *pwd* CONS_HG_Z1 TEMPERATURE 7
Erreur lors de l'authentification HTTP: 429 Client Error: Too Many Requests for url: https://fcutappli.frisquet.com/api/v1/authentifications?app_id=dX****************xr
log scenario
Erreur exécution de la commande [MAISON][Consignes Chaudière][Z1_Hors-gel] : Erreur sur sudo chmod +x /var/www/html/plugins/script/data/FrisquetSet.sh 2>/dev/null;/var/www/html/plugins/script/data/FrisquetSet.sh ********@gmail.com *pwd* CONS_HG_Z1 TEMPERATURE 7 2>&1 valeur retournée : 1. Détails : Erreur lors de l'authentification HTTP: 429 Client Error: Too Many Requests for url: https://fcutappli.frisquet.com/api/v1/authentifications?app_id=dX****************xr
Je fais appel à ceux qui utilisent aussi l’api frisquet via script ou via le plugin « frisquet connect » pour savoir s’ils rencontrent aussi le même problème et comment remédier ?
La communauté Home Assistant est toujours aussi rapide
une solution a été réalisée sur Home Assistant, à voir comment le transposer dans jeedom… Je test ce soir en faisait appel à notre amis Gemini et je vous dis dès que c’est corrigé
Visiblement nos IP sont blacklistés car on interroge trop les serveurs de Frisquet… J’ai désactivé mes scripts et le plugin Frisquet pour observer si cela se débloque dans les prochaines 24h.
Pour l’instant je ne peux rien tenter tant que je suis blacklisté.
Ce qui est quand même étrange, c’est que la modification de température sur l’appli mobile Frisquet depuis mon Wifi fonctionne…
La situation a empiré ce soir dans Jeedom puisque il n’y avait que les ordres qui ne passaient plus jusqu’à cet aprem et maintenant les infos n’ont plus ne remontent pas ( températures, modes, etc)…je regarde ça demain
Hello,
Je n’ai pas l’impression que ce soit lié aux IP en fait.
Il faut modifier l’appel de l’authentification en rajoutant un paramètre appid de 22 caractères aléatoires.
Exemple :
POST sur https://fcutappli.frisquet.com/api/v1/authentifications => 429
POST sur https://fcutappli.frisquet.com/api/v1/authentifications?app_id=ynr256PPTpND25u65aGaMl => 201
Merci Krakinou
Je confirme qu’avec un app_id ajouté a l’URL d’authentification tout refonctionne comme avant…
J’en ai testé plusieurs de différentes longueurs et tous ont fonctionné.
C’est vraiment tout bête ! j’ai juste inversé deux caractères dans l’app_id dXk9XRsJQ8WfuO3IAsgpxr et tout refonctionne !
Merci bcp
A voir combien ça tient dans le temps avec le même id et voir s’il faudra intégrer une génération de chaine aléatoire dans les scripts pour ne pas se retrouver bloqué.
PS: a noter que j’utilise des scripts car le plugin frisquet connect ne fonctionne pas avec debian12 (problème avec le cron)
FrisquetGet.sh et FrisquetRefresh.sh : ajouter « ?app_id="votre chaine" » après « /authentifications »
Frisquet.py : modifier l’app_id "dXk9XRsJQ8WfuO3IAsgpxr" par "votre chaine" dans AUTH_URL
J’ai juste regardé ce que TheGui01 avait fait dans son plugin pour HA
Il génère un appid random à chaque authentification avec cette fonction:
import random
import string
def generer_Appid_random(self, longueur=22):
caracteres = string.ascii_letters + string.digits
return ''.join(random.choice(caracteres) for _ in range(longueur))
Pour tout vous dire, moi je développe un plugin qui n’est ni pour HA, ni pour jeedom mais pour domoticz et je suis tombé sur votre thread en cherchant comment régler ce pb de 429, du coup comme cette discussion m’a aidé à trouver, je me suis dit que j’allais vous aider aussi
Si je comprends bien, vous c’est du bash, donc un truc du genre tr -dc 'A-Za-z0-9' </dev/urandom | head -c 22 devrait générer un id aléatoire
Hello
Effectivement en permutant 2 caractères ça refonctionne, y compris dans le plugin Frisquet que j’utilise toujours (je suis en debian 11)
Pour ceux qui utilisent le plugin, il faut aller ouvrir le fichier /plugins/frisquet/core/class/frisquet.class.php avec l’éditeur de fichiers de Jeedom, l’app_id à modifier se trouve en ligne 58
A voir combien de temps ça va fonctionner comme ça …
Merci, de mon côté ça fonctionne sur le plugin Frisquet dans les 2 sens
en Script cela fonctionne pour envoyer les commandes mais pas pour récupérer les infos depuis Frisquet c’est étrange…
Oui étrange…il n’y a pas de raison que ça ne fonctionne pas pour les remontées d’infos, il y a un message d’erreur ?
Sinon, plus généralement je pense que le pb que l’on vient de rencontrer vient du fait qu’on a tous fait un copier-coller de ton script python fournit dans le post Frisquet Connect - les ordres ne passent plus
sans se poser de question et que du coup on avait tous le même app_id d’où le nombre de requêtes max dépassé.
Pour ma part je vais générer un nouvel app_id tous les 100 jours pour assurer de ne pas me retrouver blacklisté. Sans info de Frisquet , on navigue à vue.