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

Compatibilité Bbox OS 23.8.16 #37

Merged
merged 4 commits into from
Dec 13, 2024
Merged

Conversation

brenard
Copy link
Contributor

@brenard brenard commented Oct 22, 2024

Je compile ici un ensemble de correction faites pour rétablir la compatibilité avec ma Bbox utilisant le firmware 23.8.16 (du 17/06/2024) :

  • Il y avait un problème lors de la récupération du firmware lors de la configuration initiale (infos[0]["device"]["serialnumber"] vs infos["device"]["serialnumber"])

  • Lors de la récupération des équipements (bbox.lan.async_get_connected_devices()), il y a plus d'un élément à la racine. Dans les faits, tous les équipements sont dans le premier élément, mais il y a également un second élément : {"hosts":{"list":[]}}. C'est peut-être un bug de la Bbox, mais dans le doute, j'ai implémenté une méthode de merge de tous les éléments retournés.

  • j'ai corrigé les capteurs du WAN qui ne correspondait pas à la réalité des données remontées par la box :

    • la clé bytes correspond au total des données téléchargées/envoyées et non plus au trafic instantané qu'on retrouve dans la clé bandwidth
    • la clé occupation n'est pas un pourcentage, mais la même valeur que bandwidth divisée par 100. Pour obtenir un réel taux d'occupation, j'ai implémenté une entité faisant un produit en croix entre bandwidth et maxBandwidth. Par ailleurs, l'unité % sur une entité portant la classe DATA_RATE génère une erreur. Il n'y a pas vraiment de bonne classe prévu par Home Assistant, donc j'ai pris ce qui se rapprochait le plus selon moi et acceptant l'unité % (POWER_FACTOR).

Ci-dessous un exemple de données retourné par bbox.wan.async_get_wan_ip_stats() sur ma Bbox :

[
  {
    "wan": {
      "ip": {
        "stats": {
          "rx": {
            "packets": 223669411,
            "bytes": "276015189891",
            "packetserrors": 0,
            "packetsdiscards": 0,
            "occupation": 78,
            "bandwidth": 7844,
            "maxBandwidth": 1000000
          },
          "tx": {
            "packets": 23730913,
            "bytes": "5918730974",
            "packetserrors": 0,
            "packetsdiscards": 0,
            "occupation": 6,
            "bandwidth": 673,
            "maxBandwidth": 1000000
          }
        }
      }
    }
  }
]

Note : pour que cela fonctionne, ma PR sur la lib bboxpy est également nécessaire.

@cyr-ius cyr-ius merged commit 4e9c74c into cyr-ius:master Dec 13, 2024
2 of 6 checks passed
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

Successfully merging this pull request may close these issues.

2 participants