Sensor & Debian & Intel : pas de température UC

Bonjour
Je n arrive pas à avoir la température de l UC:
avec le sensor natif, j’ai:

Logger: homeassistant.components.systemmonitor.sensor
Source: components/systemmonitor/sensor.py:350
Integration: systemmonitor (documentation, issues)
First occurred: 10:53:39 AM (1 occurrences)
Last logged: 10:53:39 AM

il semble que ce soit ‹ banal › pour un Intel ?
impossible de suivre:

ni les posts qui lisent

cat /sys/class/thermal/thermal_zone*/temp

en fait je n’ai pas de repertoire thermal_zone, j ai à la place:
image
et si je vais voir cur_state la valeur est toujours à 0
image
j ai donc installé**:lm-sensors**
et j ai bien (2) valeurs: CPU & SSD
avec sensors & sudo hddtemp /dev/sd
j ai bien les valeurs recherchées :slightly_smiling_face:

it8772-isa-0a30
Adapter: ISA adapter
in0:           2.22 V  (min =  +0.46 V, max =  +0.59 V)  ALARM
in1:           2.22 V  (min =  +2.47 V, max =  +0.90 V)  ALARM
in2:           3.00 V  (min =  +2.28 V, max =  +1.62 V)  ALARM
in3:           2.94 V  (min =  +1.02 V, max =  +0.12 V)  ALARM
in4:           2.22 V  (min =  +1.62 V, max =  +1.39 V)  ALARM
in5:           2.22 V  (min =  +2.69 V, max =  +0.00 V)  ALARM
in6:           2.22 V  (min =  +2.09 V, max =  +0.50 V)  ALARM
3VSB:          3.26 V  (min =  +0.62 V, max =  +4.32 V)
Vbat:          3.29 V
fan1:           0 RPM  (min =   27 RPM)  ALARM
fan2:           0 RPM  (min =   14 RPM)  ALARM
fan3:        2800 RPM  (min =   24 RPM)
temp1:        -70.0°C  (low  = +74.0°C, high = -99.0°C)  ALARM  sensor = thermal diode
temp2:        -70.0°C  (low  = -117.0°C, high =  +5.0°C)  sensor = thermal diode
temp3:        +43.0°C  (low  = -124.0°C, high = +14.0°C)  ALARM  sensor = disabled
intrusion0:  ALARM

k10temp-pci-00c3
Adapter: PCI adapter
temp1:        +43.5°C  (high = +70.0°C)
                       (crit = +100.0°C, hyst = +97.0°C)

j ai essayé en vain:

EFFECTIVEMENT dans le terminal quand je fais ‹ sensors › j’ai

Our command line:
$ ha help
➜  /config sensors
zsh: command not found: sensors
➜  /config 

donc la question comment récupérer les valeurs de lm-sensors dans un sensor ?

PS: config = Debian + HA

Salut
Dans HA (le container) tu ne peux pas accéder par défaut aux éléments physiques à moins qu’il ne soit explicitement rattachés au container.
Le plus facile c’est d’installer Glances sur debian et de faire collecter par HA les infos glances

c’est quoi ‹ glances › ?

Bon.
J’ai trouvé :slightly_smiling_face: (peut etre)
en suivant:

il se trouve que la température est inscrite dans:
/sys/devices/platform/it87.2608/hwmon/hwmon0/temp3_input
et donc non pas dans
/sys/class/thermal/thermal_zone*/temp .
du coup, le sensor ‹ habituel › fonctionne:

  - platform: command_line
    name: "cpu_temperature"
    command: "cat /sys/devices/platform/it87.2608/hwmon/hwmon0/temp3_input"
    unit_of_measurement: "°C"
    value_template: '{{ value | multiply(0.001) | round(2) }}'

seul problème, je ne sais pas le fréquence de mise a jour de lm-sensors
il semble qu’il faut définir un tempo de maj automatique au démarrage de DEBIAN…
Mais ça, je cherche encore !
Donc deuxieme question:
Comment lancer un monitoring régulier par lm-sensors ?

les templates sont mis à jour toutes minutes
Sinon

et

@Pulpy
Glances ressemble donc à lm-sensors

Not all platforms are able to provide all metrics. For instance the cpu temp sensor requires installing and configuring lmsensors in Ubuntu, and may not be available at all in other platforms.

le sensor natif qui lit les résultats de lm-sensors fonctionne, mais la mAJ ne me semble pas suivre la MAJ des relevés réels de température…
difficile à vérifier, je n ai pas acces aux MAJ de lm-sensors et bizarrement il n y a pas de MAJ de la date d écriture, elle reste bloquée à celle de création.

Oui à 2 différences prêts :

  • ça ne collecte pas que les infos des capteurs hardware
  • ça rends la collecte possible à distance et uniforme en fonction de l’OS

Effectivement, manquent la récupération à distance & les autres « capteurs ».
Pour mon usage domestique lm-sensor suffit (d autant que j ai un peu de peine à comprendre l installation de GLANCES :flushed:)
Par contre je reviens sur mon sensor adapté:

  - platform: command_line
    name: "cpu_temperature"
    command: "cat /sys/devices/platform/it87.2608/hwmon/hwmon0/temp3_input"
    unit_of_measurement: "°C"
    value_template: "{{ value | multiply(0.001) | round(2) }}"
    scan_interval: 60

ça fonctionne bien, mais avec une MAJ aléatoire sur le carte d affichage:

{{states('sensor.cpu_temperature')}}°

et avec des affichages différents en natif:
image
et en apex card:
image
ici on voit bien les pics qui correspondent à 2 stress tests que j ai lancés.
c’est mon premier essai de graphique, c’est peut etre normal cette différence ?

EDIT:
c est surement normal, quand je regarde l historique du sensor, j ai bien les 2 pics et les MAJ sont parfois très rapprochées:
image
C’est surement une question de parametrage d affichage de courbe donc.
Comment peut on voir plus en detail ces données ?

le suivi fin c’est pas important:

  • ça bouffe de la place en base
  • ça mets du temps à s’afficher (sauf à faire de l’échantillonnage)

Ce qui est à surveiller c’est un plateau avec un diff de température, et c’est que tu as un truc qui tourne en boucle quelques part

Je suis d accord c’est pas très important une fois bien réglé, c’était juste pour etre sur que tout marchait bien, ce qui n apparait pas évident quand on suit en direct la MARKDOWN qui est passée à coté des pics à 55% (probablement un peu courts les pics !)
En gros ça a l air de marcher :slightly_smiling_face:

En RESUME, comment suivre la température du CPU:
Si vous avez HA installé sur une plateforme Intel ou AMD + DEBIAN et que vous n avez pas accès au monitoring de température natif:

  - platform: systemmonitor
    # https://www.home-assistant.io/integrations/systemmonitor/
    resources:
      - type: processor_temperature

avec donc un message d erreur du type:

Logger: homeassistant.components.systemmonitor.sensor
Source: components/systemmonitor/sensor.py:350
Integration: systemmonitor (documentation, issues)
First occurred: 10:53:39 AM (1 occurrences)
Last logged: 10:53:39 AM
Cannot read CPU / processor temperature information

Une solution est d installer un moniteur de température indépendant.
Une fois connecté en root sur la machine qui héberge HA:

sudo apt install hddtemp lm-sensors

on teste en faisant

sensors

avec un résultat:

k10temp-pci-00c3
Adapter: PCI adapter
temp1:        +42.9°C  (high = +70.0°C)
                       (crit = +100.0°C, hyst = +97.0°C)

:warning:les items visibles varient en fonction du matériel.
Ensuite, paramétrer lm-sensor en faisant:

sudo sensors-detect

et en répondant Y(es) ou O(ui) aux différents items.
Puis faire en sorte que le monitoring s exécute en tache de fond:

/etc/init.d/kmod start 

REBOOT
Dans HA on crée un sensor qui va lire la valeur instantanée de la température.
:warning: le nom exact dépend de la configuration matérielle, on teste avec:

sensors

MON résultat (pas forcement le votre):

it8772-isa-0a30
Adapter: ISA adapter
in0:           2.22 V  (min =  +0.46 V, max =  +0.59 V)  ALARM
in1:           2.22 V  (min =  +2.47 V, max =  +0.90 V)  ALARM
in2:           3.00 V  (min =  +2.28 V, max =  +1.62 V)  ALARM
in3:           2.94 V  (min =  +1.02 V, max =  +0.12 V)  ALARM
in4:           2.22 V  (min =  +1.62 V, max =  +1.39 V)  ALARM
in5:           2.22 V  (min =  +2.69 V, max =  +0.00 V)  ALARM
in6:           2.22 V  (min =  +2.09 V, max =  +0.50 V)  ALARM
3VSB:          3.26 V  (min =  +0.62 V, max =  +4.32 V)
Vbat:          3.29 V
fan1:           0 RPM  (min =   27 RPM)  ALARM
fan2:           0 RPM  (min =   14 RPM)  ALARM
fan3:        2800 RPM  (min =   24 RPM)
temp1:        -70.0°C  (low  = +74.0°C, high = -99.0°C)  ALARM  sensor = thermal diode
temp2:        -70.0°C  (low  = -117.0°C, high =  +5.0°C)  sensor = thermal diode
temp3:        +43.0°C  (low  = -124.0°C, high = +14.0°C)  ALARM  sensor = disabled
intrusion0:  ALARM

k10temp-pci-00c3
Adapter: PCI adapter
temp1:        +43.5°C  (high = +70.0°C)
                       (crit = +100.0°C, hyst = +97.0°C)

la température qui nous intéresse est temp3: +43.0°C
le sensor:

  - platform: command_line
    name: "cpu_temperature"
    command: "cat /sys/devices/platform/it87.2608/hwmon/hwmon0/temp3_input"
    unit_of_measurement: "°C"
    value_template: "{{ value | multiply(0.001) | round(2) }}"
    scan_interval: 60

la fréquence de MAJ, ici 60 secondes est à régler en fonction de vos besoins. Les bonnes valeurs sont probablement entre 60 et 180 secondes, voire 300, pour ne pas surcharger le système.
Voila, vous avez une remontée de la température:
image
Cette solution fonctionne chez moi.
Si vous avez la meme erreur avec le sensor natif, essayez.