Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

api.storage.get_raids fails with HttpRequestError on unsupported models #567

Open
fthiery opened this issue Aug 21, 2023 · 0 comments
Open

Comments

@fthiery
Copy link

fthiery commented Aug 21, 2023

Hello,

En ajoutant des sensors binaires pour les array raid pour la Freebox Delta dans le composant freebox de Home Assistant, j'ai malheureusement cassé le support du composant avec d'autres (toutes ? certaines ?) modèles de Freebox, potentiellement les Pop et les Revolution.

Il semblerait que le call api.storage.get_raids déclenche une exception HttpRequestError; malheureusement, la réponse d'API est générique: (APIResponse: {"msg": "Erreur interne", "success": false, "error_code": "internal_error"})

Pour l'instant un fix try/except a été poussé dans le composant HA, mais ce que je me dis c'est que ce n'est pas HA qui devrait être "au courant" des différences de modèles de Freebox, mais plutôt cette librairie.

Qu'en pensez vous ? Existe-t'il dans ce projet des précédents (d'un point de vue de la gestion des différences de modèle et/ou version d'API)?

Je vois les options suivantes:

  • freebox-api pourrait implémenter un comportement différent en fonction du modèle / version détecté (ex: get_raids pourrait toujours retourner [] sur les modèles connus comme non compatibles)
  • freebox-api pourrait implémenter la gestion de l'erreur (si la première requête get_raids raise l'exception, considérer que le modèle n'est pas compatible via un booléen et toujours retourner [])
  • ouvrir un ticket chez free pour que leur API soit homogène (peine perdue à mon avis, ne serait-ce que pour les évolutions d'API il faudrait que freebox-api implémente une forme de gestion conditionnelle)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant