Automatisation pour être prévenu que le pourcentage de mémoire système utilisée dépasse une valeur choisie (rien ne se passe)

Bonjour,

Mon problème

J’aimerais être alerté quand mon système hébergeant HAOS (VM sur NAS Synology en particulier) a un pourcentage de mémoire utilisée qui s’approche dangereusement de 100%. Je pensais bêtement utiliser une automatisation avec l’appareil « System Monitor » qui semble offrir exactement ce que je veux (déclencheur du type « La valeur de System Monitor Utilisation de la mémoire change ») mais rien ne se passe quand je mets une valeur en pourcentage inférieure à ce qui est déjà consommé, pour vérifier que c’est OK. Quand j’exécute « à la main » cette automatisation, je recois bien le message pour me prévenir (en l’occurence par Pushover).

J’ai le même problème avec un Raspberry Pi4b sur lequel est installé HAOS. Tout est à jour et l’ensemble des données du System Monitor ont l’air OK (mémoire, disque, charge CPU…) dans les deux cas.

Qu’est-ce que je peux louper ? Je vous mets un exemple extrême qui devrait déclencher l’automatisation (puisque je demande à être prévenu si j’utilise plus de 40% de la mémoire pendant 10 secondes, et je suis déjà à 60.4%). Sachant que j’ai d’autres automatisations qui fonctionnent nickel (par exemple envoi d’un message quand mon bac de déshumidificateur est plein).

Merci d’avance.

Ma configuration

Pour mon HAOS en VM sur mon NAS (« production »):


System Information

version core-2024.9.3
installation_type Home Assistant OS
dev false
hassio true
docker true
user root
virtualenv false
python_version 3.12.4
os_name Linux
os_version 6.6.46-haos
arch x86_64
timezone Europe/Paris
config_dir /config
Home Assistant Community Store
GitHub API ok
GitHub Content ok
GitHub Web ok
HACS Data ok
GitHub API Calls Remaining 5000
Installed Version 2.0.1
Stage running
Available Repositories 1421
Downloaded Repositories 4
Home Assistant Cloud
logged_in false
can_reach_cert_server ok
can_reach_cloud_auth ok
can_reach_cloud ok
Home Assistant Supervisor
host_os Home Assistant OS 13.1
update_channel stable
supervisor_version supervisor-2024.09.1
agent_version 1.6.0
docker_version 26.1.4
disk_total 30.8 GB
disk_used 7.9 GB
healthy true
supported true
host_connectivity true
supervisor_connectivity true
ntp_synchronized true
virtualization kvm
board ova
supervisor_api ok
version_api ok
installed_addons eufy-security-ws (1.9.1), Terminal & SSH (9.15.0), Studio Code Server (5.16.0), Network UPS Tools (0.13.2), Mosquitto broker (6.4.1), Zigbee2MQTT (1.40.1-1), Gazpar 2 MQTT (0.8.7), Node-RED (18.0.5)
Dashboards
dashboards 3
resources 0
views 5
mode storage
Recorder
oldest_recorder_run 22 septembre 2024 à 17:57
current_recorder_run 29 septembre 2024 à 17:19
estimated_db_size 190.69 MiB
database_engine sqlite
database_version 3.45.3

Pour mon HAOS sur Raspberry dédié (pour le « développement »):


System Information

version core-2024.9.3
installation_type Home Assistant OS
dev false
hassio true
docker true
user root
virtualenv false
python_version 3.12.4
os_name Linux
os_version 6.6.31-haos-raspi
arch aarch64
timezone Europe/Paris
config_dir /config
Home Assistant Community Store
GitHub API ok
GitHub Content ok
GitHub Web ok
HACS Data ok
GitHub API Calls Remaining 5000
Installed Version 2.0.1
Stage running
Available Repositories 1421
Downloaded Repositories 3
Home Assistant Cloud
logged_in false
can_reach_cert_server ok
can_reach_cloud_auth ok
can_reach_cloud ok
Home Assistant Supervisor
host_os Home Assistant OS 13.1
update_channel stable
supervisor_version supervisor-2024.09.1
agent_version 1.6.0
docker_version 26.1.4
disk_total 116.5 GB
disk_used 10.3 GB
healthy true
supported true
host_connectivity true
supervisor_connectivity true
ntp_synchronized true
virtualization
board rpi4-64
supervisor_api ok
version_api ok
installed_addons eufy-security-ws (1.9.1), Terminal & SSH (9.15.0), Studio Code Server (5.16.0), Network UPS Tools (0.13.2), 3DPrinter-OctoPrint (2024.01.2), Mosquitto broker (6.4.1), Zigbee2MQTT (1.40.1-1), Gazpar 2 MQTT (0.8.7), Node-RED (18.0.5)
Dashboards
dashboards 3
resources 0
views 4
mode storage
Recorder
oldest_recorder_run 22 septembre 2024 à 08:52
current_recorder_run 28 septembre 2024 à 22:40
estimated_db_size 84.09 MiB
database_engine sqlite
database_version 3.45.3
___

Salut,

Pour débugger une automatisation rien de mieux que de voir les hsitoriques d’execution quand ça ne fonctionne pas comme attendu.

Et là à vue de nez le trigger ‹ system monitor ›, c’est pas le même que ‹ system monitor utilisation de la mémoire ›

Merci pour votre réponse. Mais comment puis-je débugger ? En l’occurence, dans la liste des appareils, on me propose un seul « System Monitor » donc je n’ai pas eu à hésiter lors de la création de l’automatisation. Pareil pour le déclencheur. Et ensuite, quand je veux comprendre ce qui se passe, le passage en YAML me met des device_id et entity_id que je ne sais pas vraiment décoder…

Le YAML correspondant :

alias: System Memory Use Percent > 40%
type: value
platform: device
device_id: 1eb35b552109cd2a9d48520761fcabf2
entity_id: 4d2359891a672bb9d4c3c1a8ff1490a4
domain: sensor
above: 40
for:
  hours: 0
  minutes: 0
  seconds: 10
id: Memory_use_percent_above_40'

Quand à l’historique d’exécution, bah, je n’en ai pas à part celui forcé à la main (et qui « fonctionne » = je recois bien un message Pushover). C’est bien ça le problème.

Construit ton trigger via l’ui avec ‹ état numérique ›
ça donne ça en yaml
image

Et pour les traces


Si pas de trace immédiate, c’est que c’est pas le bon trigger ou le bon code.
Les traces disparaissent après restart mais c’est autre chose

Merci ! J’ai fait une nouvelle automatisation qui permet d’y voir effectivement plus clair. Mais rien ne se passe.

platform: numeric_state
entity_id:
  - sensor.memory_use_percent
for:
  hours: 0
  minutes: 0
  seconds: 10
above: 40

Le sensor en question est bien le bon:

Screenshot 2024-09-29 182520

Dans la partie Historique, quand je l’ai testé à la main, puisque rien ne se passait:

id: '1727626817536'
alias: Mémoire de la VM HAOS > 40%
description: Prévient que la mémoire de la VM HAOS > 40%
trigger:
  - platform: numeric_state
    entity_id:
      - sensor.memory_use_percent
    for:
      hours: 0
      minutes: 0
      seconds: 10
    above: 40
condition: []
action:
  - action: notify.pushover
    metadata: {}
    data:
      message: '[HAOS] Mémoire HAOS-VM > 40%'
      title: Vérifier Mémoire HAOS-VM (> 40%)
      target: Pixel6a
      data:
        priority: 1
        sound: siren
mode: single

Le déclenchement à la main, ça ne fait qu’ignorer le déclenchement par trigger. Donc pas réaliste.
Là en plus ta mémoire est déjà au dessus de 40, donc ça ne redéclenche pas.

Et donc avec une courbe comme celle que je vous ai mis, comment je vérifie que ça fonctionne ? Je mets quelque chose aux alentours de 60%, en espérant que ça fluctue un peu autour pour pouvoir vérifier ?

Merci.

Salut
Un trigger (déclencheur) s’active au passage a la valeur désirée. Pas avant et pas après.

1 « J'aime »

OK, ça pourrait expliquer alors. J’ai mis 61%, on va bien voir. Merci.

C’est bon ! Ca s’est déclenché ! :slight_smile:

J’aurais imaginé que d’atteindre la 10ème seconde à >40% de mémoire aurait servi de trigger.

Merci.

Bah non. Quand tu mets par exemple a 8 heures c’est a 8 heures pas a 8h10.
Pareil pour le voucher du soleil ou toute autre sensor. L’activation se fait au moment du passage a l’état choisi.

1 « J'aime »

Juste par curiosité, c’est quoi la limite que tu te donnes ? Tu dédies combien de mémoire à ta VM ?

Oui, mais là encore, le trigger aurait pu être le passage à l’état vrai du ET des deux conditions (>40% et surtout plus de 10 secondes). Mais j’ai bien compris, hein :slight_smile:

Merci à vous.

@bastgau pour une VM sur NAS, ils conseillent au moins 2GB, j’ai donc alloué cette valeur. J’étais dans les 52% d’utilisation jusqu’à maintenant et j’ai installé l’addon Node-Red pour récupérer les valeurs de conso de mes radiateurs ( Intégration radiateurs Intuis connect sans HomeKit - Entraide Home Assistant - Home Assistant Communauté Francophone (hacf.fr)), ça m’a fait passer à 60%. Du coup, je me suis dit qu’il faudrait que je commence à surveiller.

Pour info, j’ai un Synology DS423+ avec ajout d’une barette de 4GB (soit 6GB au total).

Aucun intérêt de lancer une alerte à 60% … La mémoire c’est fait pour être consommée …

Oui, j’ai mis 61% pour vérifier que mon automatisation fonctionnait correctement, hein ! :slight_smile:

Je pense malgré tout que si on atteint 95% de mémoire utilisée, il faut commencer à se poser la question de redonner un peu plus à la VM…