Proxmox Temperatur auslesen mit HA

hallo
ist es möglich über HA die CPU Temperatur von Proxmox Server darzustellen bzw auszulesen ?

danke

1 „Gefällt mir“

Hi, das solltest du mit dem System Monitor von HA erreichen. Nutze ich für meinen pi auch.

3 „Gefällt mir“

Benutze auch System Monitor.


Weiß nur nicht ob es bei einer VM auch klappt. Versuch ist es Wert.

4 „Gefällt mir“

Ja weiß ich auch nicht genau, müsste aber eigentlich auch klappen.

2 „Gefällt mir“

61 versteckte Enditäten aber keine Temp dabei

1 „Gefällt mir“

Prozessortemp sollte da eigentlich zwischen sein. Ist bei mir der einzige Temp Sensor.

2 „Gefällt mir“

also mit Prozessor hab ich nur Prozessorauslastung

1 „Gefällt mir“

Ist ja interessant, dass die cpu temp nicht gezeigt wird. Habe gerade mal gegoogelt, die kurze Anleitung erscheint schlüssig.

3 „Gefällt mir“

Mein AMD liefert per Default keine CPU-Temp. die bekommt man nur wenn man vorher noch ne Software auf dem Proxmox-OS installiert und sich dann da was per Skript drum rum bastelt um die Daten dann in HA zu bekommen.

2 „Gefällt mir“

ob das beim intel auch so ist ?

1 „Gefällt mir“

Ja, ja gut sein.

1 „Gefällt mir“

Es gibt eine Möglichkeit die Temperatur sich anzeigen zu lassen und zwar per „sensors“ und hier gibt es ein Git wie man das Installiert! GitHub - Meliox/PVE-mods: Proxmox modifications Dann müsste man auch die Daten in HA sich anzeigen lassen können.

4 „Gefällt mir“
apt-get install lm-sensors read-edid i2c-tools

Danach im CLI

sensors

Ergibt auf meiner AMD-CPU ein

k10temp-pci-00c3
Adapter: PCI adapter
Tctl:         +28.8°C  

acpitz-acpi-0
Adapter: ACPI interface
temp1:        +20.0°C  

amdgpu-pci-c900
Adapter: PCI adapter
vddgfx:      715.00 mV 
vddnb:       760.00 mV 
edge:         +26.0°C  
PPT:           6.07 W  (avg =   5.04 W)

nvme-pci-0700
Adapter: PCI adapter
Composite:    +33.9°C  (low  = -273.1°C, high = +81.8°C)
                       (crit = +84.8°C)
Sensor 1:     +33.9°C  (low  = -273.1°C, high = +65261.8°C)
Sensor 2:     +35.9°C  (low  = -273.1°C, high = +65261.8°C)

Auf dem ein oder anderen System mag noch ein sensors-detect erforderlich sein. Bei mir läuft / lief das OOB.
Damit sind die Infos noch nicht im HA, aber erstmal sind sie auf dem Hypervisor verfügbar.

Das von @mafe68 zitierte Git-Repo patched die Web-UI von Proxmox, sodass die Temperaturen dort angezeigt werden können. Find ich grds. interessant, aber mir ist das Risiko zu groß, dass es beim nächsten Proxmox-Update zu Problemen kommt.
Um das zu vermeiden, müsste der PVE-Mod kontinuierlich gepflegt werden. Darauf möchte ich mich nicht verlassen müssen.
Man kann sich stattdessen aber den psensor-server installieren. Wie das geht, steht hier

Grdss. bin ich kein Freund davon, Systeme untereinander zu sehr miteinander zu verquicken. Das schafft unnötige Abhängigkeiten zwischen den Systemen und ist irgendwann nicht mehr wirklich beherrschbar. Klar…es gibt bestimmt gute Gründe dafür, z.B. die CPU-Temp des Hypervisors in eine HA-VM tracken zu können. …aber die Medaille hat halt immer zwei Seiten.
Tricky wird es immer, wenn auf so einen Monitorwert auch noch Alarme oder gar wetiere Automatismen gelegt werden. Kommt die Verbindung zwischen beiden Systemen mal nicht zustande, kann das direkt den Alarm oder die Automatisierung auslösen, obwohl eigentlich alles völlig normal läuft und nur halt gerade Mal kein Sensorwert gelesen werden kann…

2 „Gefällt mir“

Moin,

weiß nicht ob es hilfreich ist, aber ich habe vor einiger Zeit mal die CPU Temperatur von einem anderen Raspi der nichts mit HA am Hut hat in Homeassistant haben.

Das habe ich über ein Python-Script gelöst, welches ich als Systemd Job eingerichtet habe:

import subprocess
import requests
import json
import time

def get_cpu_temperature():
    process = subprocess.Popen(['vcgencmd', 'measure_temp'], stdout=subprocess.PIPE)
    output, _ = process.communicate()
    temperature_str = output.decode('utf-8').split('=')[1].split('\'')[0]
    temperature_celsius = float(temperature_str)
    return temperature_celsius

def update_home_assistant_entity(temperature):
    api_url = "http://HOMEASSISTANTIP:8123/api/states/sensor.cpu_temperature"
    headers = {
        "Authorization": "Bearer AUTHKEY",
        "Content-Type": "application/json"
    }
    data = {
        "state": temperature,
        "attributes": {
            "unit_of_measurement": "°C",
            "friendly_name": "CPU Temperature SERVERNAME"
        }
    }
    response = requests.post(api_url, headers=headers, json=data)
    print("Entity update response:", response.status_code)
   # print("Response Content:", response.content)

if __name__ == "__main__":
    while True:
        temperature = get_cpu_temperature()
        print("CPU Temperature:", temperature)
        update_home_assistant_entity(temperature)
        time.sleep(60)  # Aktualisiere alle 60 Sekunden

Könnte man ggf. entsprechend anpassen und auf diesen Anwendungszweck hier umbauen?

Liebe Grüße.

2 „Gefällt mir“

Wird das vernünftigste sein, dass mit den sensors paket wie @Stevie es geschrieben hat zu installieren und per Cron Script wie @NOKAT es gemacht auszulesen.

3 „Gefällt mir“

So, nun auch hier: Ich habe mich heute Mal mit den Sensorwerten meines AMD-Mainboards beschäftigt. So gab mir sensors-detect dann auch „FAIL“ für den verbauten ITE IT8613E Super IO Chip. Wie man in meinem obigen Post sieht, fehlen da u.a. die CPU-Temps und die Lüfterdrehzahlen.

Kurze Internetrecherche förderte ein Projekt auf Github zu Tage, welches einen aktualisierten Treiber bereitstellt.
Lasse ich nun ein sensors auf das System los, sieht der Output, im Vergleich zu oben, schon viel besser aus:

--->8---Schnipp---8<---
it8613-isa-0a20
Adapter: ISA adapter
in0:         660.00 mV (min =  +1.35 V, max =  +2.65 V)  ALARM
in1:           1.18 V  (min =  +1.06 V, max =  +0.19 V)  ALARM
in2:           2.06 V  (min =  +2.52 V, max =  +1.69 V)  ALARM
in4:           2.07 V  (min =  +1.56 V, max =  +1.87 V)  ALARM
in5:           1.87 V  (min =  +1.78 V, max =  +0.40 V)  ALARM
3VSB:          3.37 V  (min =  +0.22 V, max =  +4.49 V)
Vbat:          3.28 V
+3.3V:         3.37 V
fan2:        1708 RPM  (min =   55 RPM)
fan3:        1073 RPM  (min =   11 RPM)
temp1:        +43.0°C  (low  =  +0.0°C, high = +100.0°C)
temp2:        +34.0°C  (low  =  +0.0°C, high = +100.0°C)  sensor = thermistor
temp3:       -128.0°C  (low  =  +0.0°C, high = +100.0°C)
intrusion0:  ALARM

k10temp-pci-00c3
Adapter: PCI adapter
Tctl:         +28.6°C

acpitz-acpi-0
Adapter: ACPI interface
temp1:        +20.0°C

amdgpu-pci-c900
Adapter: PCI adapter
vddgfx:      715.00 mV
vddnb:       760.00 mV
edge:         +26.0°C
PPT:           6.10 W  (avg =   4.05 W)ge den Code hier ein

„Kochrezept“ kann ich gerne posten, wenn Interesse besteht.

…und die gepatchte Proxmox-GUI schaue ich mir nochmal an. Wenn das minimalinvasiv gemacht wurde, könnte das evtl. doch sinnvoll sein.
Ich habe halt nur keinen Nerv, nach einem Update ohne GUI dazustehen, nur weil da irgendein Patch 'reingrätscht.

Greetz
Stevie

1 „Gefällt mir“

Soderle…ich habe den Patch den @mafe68 angeführt hat, mal ausprobiert. Das sieht bei mir derzeit nun so aus:


Ich würde sagen: „Läuft!“ :smile:

Warum ich das nun doch ausprobiert habe? Das Patchscript macht vor dem Patchen ein Backup der zu modifizierenden Dateien. Damit ist der Drops im Ernstfall gelutscht. Einfach zurückkopieren un’ juut is! Wie der Rheinländer so sagt. :wink:

Des Weiteren handelt man sich mit der Visualisierung der Temps in HA das berühmt, berüchtigte Henne-EI-Problem ein. Hat der Hypervisor ein Prob, geht’s den VMs auch bald nicht mehr gut. Dann sehe ich im Ernstfall ggf. nix mehr.
Die Visualisierung in HA ist additiv gut für „Ach, ich guck’ ma’, wie’s meiner CPU so geht.“ Wenn ich die VMs im worst case jedoch abschalten muss, brauche ich auf dem Hypervisor alle Infos derer ich habhaft werden kann, um das „Ding“ zu retten.

Proxmox kennt das Problem der fehlenden Temps in der GUI allerdings auch. Kann gut sein, dass da in den nächsten Versionen etwas kommt.

Edith 1:
Eine AMD-CPU spuckt immer nur die durchschnittliche Temp über alle Cores aus. Dadurch ist die entsrechende Zeile in meinem Screenshot noch sehr überschaubar, um nicht zu sagen beherrschbar. Wenn da nun jemand mit einem Intel-Rechenknecht mit 16 Cores ankommt, könnte die Zeile evtl. „etwas“ überfüllt aussehen. :sweat_smile:

Edith 2:
Wer nun, so wie ich, ein Openmediavault in einer VM auf dem Hypervisor laufen hat und den SATA-Controller per PCI-Passthrough an diese VM durchgereicht hat, wird hier natürlich keine HDD- / SSD-Temperaturen sehen. Da hockt ja jetzt exklusiv die VM d’rauf. Irgenwas ist ja immer…:rofl: Allerdings hat man dann auch die Möglichkeit, die HDD-Temps in OMV direkt abzulesen.
Hierzu einfach in der /etc/modules der OMV-VM das Modul „drivetemp“ laden. Dann kann man die HDD-Temps zumindest im OMV-Dashboard ablesen.
Wer jedoch noch HDDs / SSDs direkt am Hypervisor betreibt, sollte noch über die /etc/mdoules das Modul drivetemp laden.

Hope it helps!

Greetz
Stevie

1 „Gefällt mir“

Der obige Post wurde umfangreich aktualisiert. Damit ihr einen weiteren Reminder bekommt, schreibe ich hier einen Dummypost. Sorry…