Giter Site home page Giter Site logo

hacf-fr / freebox-api Goto Github PK

View Code? Open in Web Editor NEW

This project forked from fstercq/freepybox

31.0 31.0 17.0 905 KB

Manage your freebox in Python using the Freebox OS API

Home Page: https://readthedocs.org/projects/freebox-api/

License: GNU General Public License v3.0

Python 100.00%
access-point freebox freebox-api freebox-home freebox-os freebox-router freebox-server hacktoberfest router

freebox-api's People

Contributors

alekitto avatar dependabot[bot] avatar fabaff avatar foreign-sub avatar fstercq avatar narmishka avatar oncleben31 avatar pdecat avatar quentame avatar rithynicolastan avatar snoof85 avatar stilllman avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

freebox-api's Issues

Support store Somfy IO-homecontrol

Salut,
J'ai vu que jeedom supporter le store somfy IO-homecontrol,
ici: https://blog.domadoo.fr/guides/un-logement-connecte-en-somfy-io-homecontrol-et-bien-plus-avec-jeedom-et-freebox-delta/
et
ici: https://github.com/mika-nt28/Jeedom-Freebox_OS
Pensez vous que c'est possible de le faire ?
Si oui, avez vous la documentation de l'api de freebox ? Je n'ai trouvé que cela: https://dev.freebox.fr/sdk/os/ et je ne vois rien concernant les stores.
Je vais essayer d'ajouter le support des stores Somfy dans les prochains mois.

api.storage.get_raids fails with HttpRequestError on unsupported models

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)

Intégration à HA

Bonjour,

J'ai quitté Jeedom (qui intégrait la gestion du pack de sécurité de la freebox delta ) pour HA. Mais le plugin natif freebox de HA n'intègre pas les éléments du pack sécurité.
Du coup je suis tombé sur freebox-api mais je n'arrive pas à comprendre le principe d'intégration de cette api à HA, malgré des recherches sur les forums.

Quelqu'un aurait des pistes ?

Merci !

API calls on LAN, offline mode

Just made some testing because the way we are getting informations from the API needs a active internet connection (wich is more than stupid imo !)
The API endpoint does exists on api_domain with SSL and a specified port. But when internet connection is down, we can't get anymore informations.

The API endpoint also exists in LAN on http://192.168.1.254 but without SSL...

Could we get an alternative to fetch datas from this endpoint ? Giving us some local polling instead of internet polling ?

Support pack sécurité freebox delta pour Home assistant

Je ne suis pas sûr d’être sur le bon canal de communication mais il semble qu’il y ait par ici des spécialistes à la fois de HA et de Freebox alors je me lance.

je cherche depuis plusieurs mois à intégrer le pack sécurité de la Freebox delta à HA !
(J’étais avant sur Jeedom qui avait bien fait le boulot de ce côté là)
je cherche quelque chose de très simple : contrôler l’alarme et son état, connaître l’état des 2 détecteurs (mouvement et porte)
(J’ai tenté de contourner ce manque en «  développant » une sorte d’intégration via NodeRed et MQTT - mais ce n’est pas une réelle intégration - https://github.com/dathosim/HomeAssistant-Freebox-Pack-Securite)

Aussi, j’ai vu que HA disposait d’une intégration officielle Freebox mais qui ne prend pas en charge ces composants du pack sécurité de la delta 😢
D’ailleurs, j’ai pu voir dans le code qu’il y’a avait de tout petit « morceaux » qui faisait appel à votre lib Freebox-api...
Et je me disais que l’effort à fournir pour aller jusqu’au bout et pas énorme mais peut être je me tromper...

Alors, mes questions sont les suivantes :

  • comme j’ai une delta et le pack comment puis-je aider à cela ?
  • Est-ce qu’on peut créer un custom components de HA qui se servirait intégralement de votre lib qui intègre d’ailleurs les points d’api Home qui permettent de piloter le pack sécurité ?
  • Faut-il attendre que l’intégration officielle fasse ce travail ? Y contribuez vous ?

Merci d'avance

app_auth file custom localisation

Bonjour,

J'utilise cette librairie depuis un moment avec succès, notamment pour générer un fichier hosts depuis les périphériques de la freebox que je soumets à mon dns (dnsmasq/pihole).

Aucun problème jusqu'à ce que je décide de ne plus utiliser pyenv pour installer python et ses dépendances, mais python3 fournit par l'OS (debian ici).

Lancé alors avec un utilisateur lamda, la librairie pose problème à l'écriture du fichier d'authentification.
En effet un utilisateur lamba ne peut pas écrire dans le répertoire d'installation python du système (ici /usr/local/lib/python3.11/dist-packages/freebox_api/app_auth).

Existe-t'il un moyen de paramétrer la localisation de ce fichier app_auth ?

Merci.

Exemple du code

async def hostfile():
    try:
        fbx = Freepybox()
        await fbx.open(host=freebox.fqdn, port=freebox.port)
       
       [...]

    except FileNotFoundError as e:
        log.critical(f"File error {e}")
        sys.exit(1)

    except PermissionError as e:
        log.critical(f"Permission error {e}")
        sys.exit(1)

    except Exception as e:
        log.critical(f"Unexpected error {e}")
        sys.exit(1)
        
    except:
        log.critical(f"Problem while querying freebox  on {freebox.fqdn}:{freebox.port}")
        log.warning(f"Remember to remove {dirname(app_auth)}/app_auth if needed or adjust rights on FreeboxOS")
        sys.exit(1)

Le retour :

Read application authorization file
No valid authorization file found
Please confirm the authentification on the freebox
Application authorization granted
Permission error [Errno 13] Permission denied: '/usr/local/lib/python3.11/dist-packages/freebox_api/app_auth

Nous pouvons parler français ici !

Ce dépôt concerne la Freebox qui est une box ADSL typiquement française.
La majorité des utilisateurs et contributeurs devraient donc être francophones.

edit_parental_filter call fails as "deprecated"

Hello,

i am trying to explore parental control api of freebox, and it is strangely fails on PUT

fbx = Freepybox(api_version="v4")
await fbx.open(HOST, PORT)
await fbx.parental.get_parental_filters() # WORKS
await fbx.parental.edit_parental_filter(1, {'filter_state': 'allowed'}) #FAILS

Error:

HttpRequestError: Request failed (APIResponse: {"msg": "Mise \u00e0 jour de l\u2019application n\u00e9cessaire: cette m\u00e9thode de contr\u00f4le parental n\u2019est plus disponible", "success": false, "error_code": "deprecated"})

API reference looks pretty much the same as implementation https://dev.freebox.fr/sdk/os/parental/#

Can I Use a swagger ?

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

Just a question about your API , Can I to use a swagger with this API ?

Describe the solution you'd like
A clear and concise description of what you want to happen.

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
Add any other context or screenshots about the feature request here.

API pour éteindre la Freebox

Bonjour,

Tu sembles très bien informé sur les API de Free qui ne sont pas encore documentées !

Sais-tu s'il existe une API pour éteindre la Freebox ? J'ai vu les API Player qui permettent de zapper sur une chaine (tout en allumant la Freebox) en utilisant player/{player_id}/api/{player_api_version}/control/open, et donc je me demandais si quelque chose d'équivalent existe pour l'éteindre ?

Merci

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.