Spam des logs du Zlinky (Lixee) / zigbee2mqtt V4

Bonjour à tous :slight_smile:

Voilà bientôt 1 semaine que je teste la clé Zlinky de Lixee et c’est plutôt sympathique !
Mais depuis que je suis passé en TIC Standard (il me semble que c’est depuis ce moment) je me suis rendu compte que la clé spammait littéralement mes logs avec un flux (très) massif d’info, ma BDD est montée à 5 Go (!!), j’ai tout reset pour repartir de 0 avec configuration du recorder etc. Opération faite ce matin, ma BDD est passée de 0 à 100 mégas ce soir. :confused:

Mon problème : malgré moult tests sur la configuration du Zlinky (dans les paramètres du Zlinky : poll interval, measurement poll chunk) dans le panneau de Zigbee2MQTT, rien n’y fait je suis toujours spammé de manière aléatoire par les requêtes mqtt et j’ai même pas l’impression que ces paramètres changent beaucoup de choses…

Actuellement voici ma configuration :

Mais malgré le poll à 120 sec (testé à 0, 60, 90, 30, 50 etc), on peut voir dans les logs que j’ai des retours de manière totalement chaotiques et aléatoires.

Parfois c’est environ toutes les 30 sec (malgré les 60 ou 120 sec demandées dans le poll interval) avec des retours en double ou triple. Parfois, je peux même monter à 45 retours sur la même seconde, mon record. Forcément la BDD n’aime pas et gonfle à vue d’oeil.

Je ne trouve rien sur le net concernant ce spam incessant du Zlinky et de sa configuration qui ne semble pas être prise en compte… J’avais vu ici quelqu’un mettre le measurement_poll_chunk à 8 mais là aussi, que je mette 0, 1, 800 etc rien ne semble changer, ou très très peu.

Note : à chaque modification, je « reconfigure » le Zlinky dans l’interface Z2M, je relance le module, je relance même parfois tout HA, rien n’y fait.

Quelqu’un sait comment gérer ce spam ou a déjà eu ce problème ?
Un grand merci par avance pour ceux qui pourront prendre un peu de leur temps pour m’aider :slight_smile:

Ma configuration


System Information

version core-2023.2.5
installation_type Home Assistant OS
dev false
hassio true
docker true
user root
virtualenv false
python_version 3.10.7
os_name Linux
os_version 5.15.84-v8
arch aarch64
timezone Europe/Paris
config_dir /config
Home Assistant Community Store
GitHub API ok
GitHub Content ok
GitHub Web ok
GitHub API Calls Remaining 4979
Installed Version 1.29.0
Stage running
Available Repositories 1205
Downloaded Repositories 3
Home Assistant Cloud
logged_in true
subscription_expiration 1 janvier 2018 à 01:00
relayer_connected false
remote_enabled true
remote_connected false
alexa_enabled false
google_enabled true
remote_server null
can_reach_cert_server ok
can_reach_cloud_auth ok
can_reach_cloud ok
Home Assistant Supervisor
host_os Home Assistant OS 9.5
update_channel stable
supervisor_version supervisor-2023.01.1
agent_version 1.4.1
docker_version 20.10.22
disk_total 28.5 GB
disk_used 4.9 GB
healthy true
supported true
board rpi4-64
supervisor_api ok
version_api ok
installed_addons Terminal & SSH (9.6.1), File editor (5.5.0), Samba share (10.0.0), Node-RED (14.0.2), SSH & Web Terminal (13.0.2), Mosquitto broker (6.1.3), Zigbee2MQTT (1.30.1-1), SQLite Web (3.7.0)
Dashboards
dashboards 1
resources 1
views 1
mode storage
Recorder
oldest_recorder_run 18 février 2023 à 14:44
current_recorder_run 18 février 2023 à 19:40
estimated_db_size 109.60 MiB
database_engine sqlite
database_version 3.38.5
___
1 « J'aime »

Je suis preque sûre que zigbee2mqtt n’est pas la source.
De base les logs z2m sont que sur l’écran sauf (!) si tu l’as configuré pour stockage et avec ta question ‹ comment › je pense que tu n’a rien fait.
I faut chercher ailleurs…

Logging | Zigbee2MQTT

1 « J'aime »

Salut

Les logs ne sont pas intégrés dans les logs, l’histoire des entités oui et si là fréquence des données est importante, alors ça jour directement sur l’augmentation de la taille de la base

1 « J'aime »

Hello Vingerha, Pulpy-Luke, merci pour vos réponses :slight_smile:

@vingerha : Qu’entends-tu par « configuré pour stockage » ? Si tu parles de Z2M je n’ai touché à rien.
Concernant le stockage des logs du côté de HA avec recorder, je n’ai gardé que certaines données pour ma télémétrie, qui remontent bien dans ma base lorsque je fais un check sur cette dernière pour voir quelles sont les entrées (tous appareils confondus) qui comptent le plus d’enregistrements et j’ai tjrs ce spam du zlinky (via sqlite web) :

On peut voir que j’ai 6171 enregistrements (au lieu de normalement 1440 pour 24h, soit 1 par minute), alors que j’ai fait un reset total ma BDD hier…J’ai plus de 100,000 enregistrements en bdd pour 24h, ma base sature trop vite…

@Pulpy-Luke : j’emploie le terme « log » mais ce sont bien des messages mqtt qui arrivent bien dans mon historique sur HA (et donc dans ma base de données), j’ai vérifié à l’instant :frowning:
Quant à la fréquence des données, c’est bien ce que je tente de réduire drastiquement mais rien n’y fait, le zlinky renvoie trop d’infos via Z2M :confused:

Tout ce qui est dans le journal de l’interface de Z2M que j’ai linké plus haut en image est aussi (avec 2 sec de décalage) dans mes journaux sur HA, et donc dans ma base de donnée :confused:

Pour faire précis :
Les logs n’arrivent QUE dans les journaux HA ou z2m.
Ce qui rentre dans la base de données, ce sont les valeurs (avec date/heure etc) des entités. Ce sont des données issues certes des messages MQTT mais définitivement pas le message en lui-même.

Oui 1440 PAR entité, le moyen simple de vérifier que tu es bien à 1 valeur à la minute c’est de regarder les dates des enregistrement en base… Là vue de nez, tu es sur une configuration par défaut à 1 par 10 secondes…

Oui tout à fait, je m’exprime mal je suis désolé :stuck_out_tongue: Et c’est bien le cas, je ne stocke que les valeurs des entités pour ma télémétrie effectivement, avec mon recorder j’ai exclu beaucoup d’infos remontées par le Zlinky (heureusement d’ailleurs vu le spam)

C’est ça, j’ai compté pareil, j’ai 6 fois trop de données et comme c’est aléatoire, ça peut être 6 remontées du Zlinky par minute, ou plus de 50 par seconde quand il commence à s’emballer :smiley:
Mais je crois que j’ai pu régler ce mégaspam de 50 par seconde avec le réglage du « measurement_poll_chunk » + « measurement_poll_interval ».

Maintenant mon but, c’est soit de réduire à la source l’envoi trop fréquent du statut des entités du ZLinky, soit de brider au niveau de Z2M et de n’envoyer à HA qu’un message toutes les 60 ou 120 secondes (ou une autre solution que j’ignore), mais je ne sais pas faire tout ça je ne sais même pas si c’est possible :frowning:

Tu peut reduire la fréquence vers 5 min…
Mais en realité ça ne sert a preque rien parceque zlinky n’est que une petite partie de tout la bdd

Info intéressante, je viens de désactiver l’envoi dans « measurement_poll_interval » en le passant à -1 (au lieu de 60 ou 120), et j’ai toujours des remontées du ZLinky :open_mouth:

C’est à n’y rien comprendre… Ou alors je n’ai pas compris à quoi sert cette option, ce qui est fort possible :smiley:

C’est bien ce que j’essaye de faire, mais il semble que je ne puisse pas contrôler ce flux de données :frowning:
Et hélas d’après mes mesures, ZLinky c’est 99% de ma BDD car j’ai TOUT désactivé niveau log, sauf mes données de télémétries du Linky :frowning: Soit je coupe ce module et je garde HA stable, soit je le laisse et ma BDD gonfle d’1 giga par semaine, ce qui n’est pas normal du tout…

Pour info, voici mon recorder, on peut voir que je ne garde en enregistrement BDD que certaines données du Linky et la taille de ma BDD (filesize) pour la mesurer en temps réel :

recorder:
  purge_keep_days: 7
  auto_purge: true
  auto_repack: true
  commit_interval: 5
  
  exclude:
    domains:
      - weather
      - sensor
      - sun

  include:
    entity_globs:
      - sensor.lixee_easd*
      - sensor.lixee_easf*

    entities:
      - sensor.lixee_sinsts
      - sensor.lixee_east
      - sensor.lixee_ccasn
      - sensor.lixee_current_price
      - sensor.home_assistant_v2_db_size

T’as combiens des enregistrements sur lixee dans table states?

Actuellement dans la table « states », j’ai 33 entrées (toutes liées au Zlinky, directement et indirectement), soit environ 100000 enregistrements (en moins de 24h) pour le Zlinky :

Je ne montre que le haut du classement, en bas les chiffres sont normaux, le « _cost » l’entité générée par HA avec le panneau Energy et n’est pas directement lié aux remontées du Zlinky :

Soit une bdd de 224 Mo, que pour le Zlinky, en moins de 24h

T’as fait un restart après changer le ‹ recorder ›?

Et je me rend d’ailleurs compte que je n’ai pas une remontée correcte des infos, il me manque des données le week-end (plus rien depuis 3h du mat) mais ça doit être lié à mon forfait, HC/HP en sem et week-end + lundi en full HC.
Je ne crois pas que le module dans Z2M sache correctement gérer ce forfait MAIS c’est un autre problème au pire je ferai un autre topic plus tard sur lui, restons concentrés sur ce spam de données mqtt :stuck_out_tongue: Je le poste ici au cas où…

J’ai dû relancer HA 50 fois depuis, j’ai tenté d’appeler le service recorder_purge directement quand ma BDD faisait 5 gigas pour la purger en urgence.

Je peux te confirmer que 100% de ma BDD est occupée par les données du Zlinky, rien d’autre n’est loggé, tout est exclu comme indiqué dans mes paramètres Recorder plus haut

Voici un très court extrait des journaux de Zigbee2mqtt côté Home Assistant.

On peut voir 18 retours la même seconde pour les mêmes données. Je ne montre pas le reste, c’est idem 10 secondes plus tard, etc etc etc… Ma carte SD va cramer :smiley:

De mon avis: ne regarde pas z2m… il faut le résoudre dan ‹ recorder › qu’il ne doit pas enregistrer des trucs que t’a exclus.

Je viens d’appliquer plus de filtrage maintenant …je vais voir si / comment ça marche

1 « J'aime »

Recorder fonctionne très bien, il enregistre les entités que j’ai défini comme on peut le voir sur le screen. Sauf qu’il reçoit des infos sur ces entités plusieurs fois par seconde donc lui il enregistre tout ça gentiment (et il a bien raison) :cry:

Ah oui…j’avais mal lû dans ton recorder ex/in …
J’ai une purge de 10jours et j’ai env 700k records sur linky ce qui ne sont pas nécessaires et j; ai adapaté mon recorder maintenant.
Mon zlinky aussi fait des polls dans moins de 60s (defaut) et c’est pas attendu non plus…et pas nécassaire…je vais voir demain …maintenant: famille+dimanche

1 « J'aime »

Pas de soucis :slight_smile:
Oh merde toi aussi t’as le problème ? Décidément :frowning:

Toi tu as 700K records, soit une semaine de log pour moi, 10 jours pour toi, c’est presque idem. Je vais continuer de bosser et voir ce qui peut générer ça, et si c’est contournable. Peut-être que c’est le firmware (à jour dans mon cas) du Zlinky qui déconne. Merci pour ton aide, bon dimanche en famille :slight_smile:
Je posterai ici si je trouve des choses…