Suivez votre routeur Zyxel dans Home Assistant

Hello la commu,

Je vous partage ma première intégration pour HA: Zyxel.

Elle permet de remonter l’état de certains appareils Zyxel. Je ne l’ai testée que sur mon N7101, le modem/routeur 5G qui me donne internet à la maison. Mais je pense qu’elle peut fonctionner sur pas mal d’autres appareils s’ils partagent le même OS.

2 « J'aime »

L’intégration Zyxel est maintenant disponible sur HACS :smiley:

Pour l’installer, c’est par ici: Link to HACS: Repository – My Home Assistant

Hello,

j’ai un routeur 5G Zyxel FWA505 dont l’intégration s’est bien passée, là où je bloque c’est sur le code à mettre pour obtenir la carte mushroom.

J’avoue que je n’ai jamais fait ça et à vrai dire, j’ai tenté pleins de truc, mais pas moye, a chaque fois, le bouton enregistrer reste grisé ou alors j’ai tout un tas d’alertes sur la présentation du code (indentation principalement) je pense qu’il me manque quelque chose.

J’ai bien entendu installé Mushroom

Je suis preneur d’un coup de main, je pense simplement que je ne suis pas la bonne méthode

Avec mes remerciements anticipés

Salut Bruno,

Content que ça marche pour toi. Pour les cartes mushroom, il faudrait effectivement commencer par vérifier l’indentation. Ce code est en YAML (comme beaucoup de choses dans HA), c’est un langage qui nécessite de respecter strictement l’indentation. Si tu me partages l’erreur que tu vois, je pourrai peut-être t’aider un peu plus. En tout cas, il doit pas manquer grand chose.

Ah j’ai oublié un détail important: le code de mon exemple doit être collé dans une section et non dans une carte!

Pour ça, il faut faire ce parcours:

ezgif-61d7d31337051d

Je vais le rajouter dans le readme.

Merci de ton retour rapide et précis,

alors j’ai donc créé une nouvelle page, le type section, et ai copié le code après être passé en mode YAML, le code est accepté,

mais les icones ne sont pas créés

Pourtant les cartes mushroom sont bien installées, voici ce que j’ai dans HACS

J’aurais oublié quelque chose ?

par contre, je vois qu’après avoir enregistré le code, des numéros (de carte je suppose) sont automatiquement créés

Curieux cette numérotation, ça ne devrait pas être transformé comme ça.

Je réalise qu’il manque les clés type et cards en haut du code que j’ai publié. Est-ce que tu peux refaire les mêmes étapes mais avec ce code:

Code
type: grid
cards:
  - type: heading
    icon: mdi:antenna
    heading: Antenna
    heading_style: title
    tap_action:
      action: navigate
      navigation_path: "#antenna-stats"
  - type: custom:mushroom-template-card
    entity: sensor.zyxel_cellular_rssi
    primary: |
      {% set rssi = states('sensor.zyxel_cellular_rssi') | int(999) %}
      {% if rssi == 999 %}
        Great
      {% elif rssi >= -77 %}
        Very Good
      {% elif rssi >= -86 %}
        Good
      {% elif rssi >= -92 %}
        OK
      {% elif rssi >= -101 %}
        Bad
      {% elif rssi >= -108 %}
        Very Bad
      {% else %}
        Unknown
      {% endif %}
    icon: |
      {% set rssi = states('sensor.zyxel_cellular_rssi') | int(999) %}
      {% if rssi == 999 %}
        mdi:signal-cellular-outline
      {% elif rssi >= -77 %}
        mdi:signal-cellular-3
      {% elif rssi >= -86 %}
        mdi:signal-cellular-3
      {% elif rssi >= -92 %}
        mdi:signal-cellular-2
      {% elif rssi >= -101 %}
        mdi:signal-cellular-2
      {% elif rssi >= -108 %}
        mdi:signal-cellular-1
      {% else %}
        mdi:signal-cellular-outline
      {% endif %}
    icon_color: |
      {% set rssi = states('sensor.zyxel_cellular_rssi') | int(999) %}
      {% if rssi == 999 %}
        grey
      {% elif rssi >= -86 %}
        green
      {% elif rssi >= -101 %}
        orange
      {% else %}
        red
      {% endif %}
    secondary: Signal
    tap_action:
      action: more-info
  - type: custom:mushroom-entity-card
    entity: sensor.zyxel_cellular_signal_to_noise_ratio
    name: Cell Signal-To-Noise
    primary_info: state
    secondary_info: name
  - type: custom:mushroom-template-card
    primary: "{{ states('sensor.zyxel_cellular_intf_current_access_technology') }}"
    icon: mdi:signal-5g
    secondary: Current access technology
    tap_action:
      action: more-info
    entity: sensor.zyxel_cellular_intf_current_access_technology
    icon_color: blue
  - type: custom:mushroom-entity-card
    entity: sensor.zyxel_cellular_rssi
    name: Cell RSSI
    primary_info: state
    secondary_info: name
  - type: custom:mushroom-template-card
    primary: >
      {{ (states('sensor.zyxel_bytes_received_2') | int / 1000 / 1000 / 1000) |
      round(1) }} GB
    icon: mdi:download-network
    secondary: Received
    tap_action:
      action: more-info
    entity: sensor.zyxel_bytes_received_2
    icon_color: blue
  - type: custom:mushroom-template-card
    primary: >
      {% set seconds = states('sensor.zyxel_device_info_deviceinfo_uptime') |
      int %}

      {% set minutes = seconds // 60 %}

      {% set hours = minutes // 60 %}

      {% set days = hours // 24 %}


      {% if days > 0 %}
        {{ days | int }} days
      {% elif hours > 0 %}
        {{ hours | int }} hours
      {% else %}
        {{ minutes | int }} minutes
      {% endif %}
    secondary: Uptime
    icon: mdi:clock
    entity: sensor.zyxel_device_info_deviceinfo_uptime
    icon_color: blue
    tap_action:
      action: more-info
  - type: custom:mushroom-template-card
    primary: >
      {{ (states('sensor.zyxel_bytes_sent_2') | int / 1000 / 1000 / 1000) |
      round(1) }} GB
    icon: mdi:upload-network
    secondary: Sent
    tap_action:
      action: more-info
    entity: sensor.zyxel_bytes_sent_2
    icon_color: orange

Après injection de ton code: C’est nettement mieux

Par contre j’ai des entités qui ne semblent pas correspondre

en 5G le niveau de signal semble être ceui-ci: sensor.zyxel_cellular_nsa_rssi

Voici les 4 RSSI que je récupère

Comment on fait pour passer d’une donnée type numérique à une courbe ? Je veux dire dans les entités, je suppose que c’est dans le code de ton intégration qu’on définit le type de données ?

Hier j’avais un FWA505, là c’est un FWA510 nettement plus puissant. Mais ça fonctionne aussi

1 « J'aime »

Oui ça c’est normal: les entités sont générées à la volée, en fonction de ce que le routeur veut bien retourner. Ça peut donc varier pas mal d’un modèle à l’autre, par exemple moi je n’ai pas cellular_nsa_rssi bien qu’étant connecté en 5G NSA. Il faudra trouver ce qui te convient.

Oui en effet, c’est dans le code de l’intégration. Je l’ai fait au cas par cas car je ne sais pas prédire ce que chaque modèle retourne. Si tu me donnes le nom des entités que tu veux sous forme de courbe, je peux ajouter ça :slight_smile: