NEWS
Script: HP-ILO 4 Abfrage Temperaturen und FanSpeed
-
Axios in der Java Instanz ist ausreichend, ich habs nicht im iobkroker gefunden, durch die Pfadangabe ist es aber das gleiche und wurde bei mir als Modul zu Javascript installiert.
ich schau mal was ich noch alles aus dem Prolianten herauskitzeln kann..
-
Cool^^.
Wir was gibt man das pollinterval an wenn man unten den Trigger auf alle 2min stehen hat?
Finde im Script garnicht, dass das Intervall verwendet wird. -
hier:
// === Erstaufruf + Intervall readILO(); schedule('*/2 * * * *', readILO); // alle 2 Minuten
Klappt (zumindest bei mir)
-
-
Denkfehler während des Scriptens. Oder im Laufe des Scripts die Strategie geändert.
Ich bin kein Programmierer und mach das nicht so oft, und brauche ewig dafür, aber nur so lernt man. -
Ich würde es garnicht hinbekommen.
Zum Glück gibt's Blockly
Oder das Forum und ChatGPT wenn es JS sein muss. -
Eingangspost aktuallisiert.
Script angepasst und getestet. -
Meine (unfertige) VIS zum Server sieht so aus:
-
Teste es morgen.
Hab ein älteres 4er Ilo und ein neueres von vor ca 2 Jahren. Ka welche Version das ist.Das ist meine bisherige Übersicht. Mobil optimiert.
-
Du scollst zu schnell, das ist nix für meine alten Augen..
-
Neu hochgeladen mit optimierung für die alten Augen^^.
-
Script läuft auf dem ersten Server gut und ruft ordentlich Daten ab.
iLO 4 v2.61Etwas viel logging ist noch drinnen, liegt aber vermutlich noch an der Testversion.
Bekomme aber bei jedem Durchlauf folgende Fehler ausgeworfen:
javascript.0 2025-06-30 09:16:02.143 warn at processImmediate (node:internal/timers:454:9) javascript.0 2025-06-30 09:16:02.143 warn at runNextTicks (node:internal/process/task_queues:60:5) javascript.0 2025-06-30 09:16:02.143 warn at createState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:2987:34) javascript.0 2025-06-30 09:16:02.143 warn at Object.<anonymous> (script.js.Eigene_Scripte.ilo4:255:25) javascript.0 2025-06-30 09:16:02.143 warn at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:2090:20) javascript.0 2025-06-30 09:16:02.137 warn You are assigning a object to the state "javascript.0.ilo4-testing.bios.links" which expects a string. Please fix your code to use a string or change the state type to object. This warning might become an error in future versions.
EDIT:
Den anderen Server habe ich nun auch getestet.
Auf ilo5 2.72 klappt es teilweise.
Mache Werte werden befüllt, manch andere werden falsch befüllt.javascript.0 11:35:32.719 info registered 0 subscriptions, 1 schedule, 0 messages, 0 logs and 0 file subscriptions javascript.0 11:35:34.489 info Thermal-Daten erfolgreich abgerufen. javascript.0 11:35:34.489 error Fehler beim Abrufen der Thermal-Daten: Cannot read properties of undefined (reading 'trim') javascript.0 11:35:35.710 info System Data erfolgreich abgerufen. javascript.0 11:35:36.878 info PSU Data erfolgreich abgerufen. javascript.0 11:35:37.533 info Firmware Data erfolgreich abgerufen. javascript.0 11:35:37.951 info Network Data erfolgreich abgerufen. javascript.0 11:35:38.762 info 🧬 BIOS-Felder: • @odata.context: /redfish/v1/$metadata#Bios.Bios • @odata.etag: W/"B2467190023E121212858C6490CB8F5B" • @odata.id: /redfish/v1/systems/1/bios/settings/ • @odata.type: #Bios.v1_0_0.Bios • AttributeRegistry: BiosAttributeRegistryU41.v1_2_68 • Attributes: [object Object] • Id: settings • Name: BIOS Pending Settings javascript.0 11:35:38.763 info BIOS-Settings erfolgreich abgerufen. javascript.0 11:35:38.770 warn at Object.<anonymous> (script.js.Eigene_Scripte.ilo5:255:25) javascript.0 11:35:39.228 info Disks Data erfolgreich abgerufen. javascript.0 11:35:39.228 warn Keine PhysicalDrives-Verlinkung gefunden. javascript.0 11:35:39.575 info Raid Data erfolgreich abgerufen. javascript.0 11:35:39.575 warn Keine LogicalDrives-Verlinkung gefunden.
-
Hey,
ich habe anhand der Refence zu ILO 4 das ganze für die V2.81 getestet, eine andere ILO Version habe ich nicht.
Die ILO 5 sollte garnicht laufen, da dort die API nach den Refenzen ganz anders funktioniert.
Wie du siehst sind schon zwischen 2.6x und 2.8x gravirende Unterschiede.
Meine beiden Server (je mit V2.81) geben einwandfrei alle Daten Preis.
Hast du ILO Adv. Lizenzen?
Vielleicht mal up auf 2.81?ILO 4 Refences:
https://hewlettpackard.github.io/ilo-rest-api-docs/ilo4/P.S. Ich habe noch einen DL360G6 8HE hier rumfliegen, ich habe gerade Lust das zu einem Proxmox Backup Server zu machen, aber das würde witzig werden, ILO -1 läuft nur mit einem gammeligen Windows XP. Auf neuen Browsern gibts nichtmal mehr eine Verbindung.
-
@lucifor1976 sagte in Script: HP-ILO 4 Abfrage Temperaturen und FanSpeed:
Hast du ILO Adv. Lizenzen?
Was ist das?
Vielleicht mal up auf 2.81?
Das ist ein alter Server auf der Arbeit wo ich Proxmox drauf gepackt habe. Die 2.61 ist die aktuellste Version die ich online ohne irgend welche Zugänge finden konnte.Kenne mich da nicht so aus.
Hab das alte Teil (10 Jahre alt, einfach neu aufgesetzt und spiele mit rum.).
Der andere mit ilo5 ist ein Produktiver Server. Der wird auch von extern überwacht.EDIT
Habs wohl
-
Ohh das ist ein ML, ich habe nur DL, somit kann ich mit der letzen ILO wohl auch nicht aushelfen.
Ich sehe gerade für einen ist 2.82 verfügbar.. Ne das tu ich mir jetzt aber nicht an.Sieht so aus als wäre das Script dann für dich nicht geeignet..
-
Auf dem 4er klappt ja alles.
Bekomme gefühlt hunderte Datenpunkte korrekt ausgefüllt.Hab nur die Fehler im log.
-
Jetzt bin ich verwirrt, hast du die Fehler im Log bei der Maschine wo es aber geht?
Weil: Die Reference zu ILO 4 2.61 sagt das Raid und Disk nicht über die API ausgelesen werden können.
(Das steht auch so im Log (erfolgreich gelesen, aber keine links gefunden bei Raid und Disks)
Die Fehler im Log rühren nicht vom Script her, die sehen anders aus, ich vermute axios?Noch eine Frage, läuft das Script in einer iobroker Umgebung? Diese wird erwartet, das ist kein Shell Script.
Das Script erwartet die Javascript Engine von iobroker.Etwas weiter unten im Log steht was von ILO5?
Ich kann ein Script für ILO 5 bauen, aber nur im Blindflug, da ich keine Maschine mit ILO 5 habe.
Geht sicherlich, dauert aber lang .. ständig logs und Scripte hin und her... -
Hallo,
Das erste log kommt vom ilo 4.
Also dieses:javascript.0 2025-06-30 09:16:02.143 warn at processImmediate (node:internal/timers:454:9) javascript.0 2025-06-30 09:16:02.143 warn at runNextTicks (node:internal/process/task_queues:60:5) javascript.0 2025-06-30 09:16:02.143 warn at createState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:2987:34) javascript.0 2025-06-30 09:16:02.143 warn at Object.<anonymous> (script.js.Eigene_Scripte.ilo4:255:25) javascript.0 2025-06-30 09:16:02.143 warn at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:2090:20) javascript.0 2025-06-30 09:16:02.137 warn You are assigning a object to the state "javascript.0.ilo4-testing.bios.links" which expects a string. Please fix your code to use a string or change the state type to object. This warning might become an error in future versions.
Der DP bios.links ist so befüllt
{"self":{"href":"/rest/v1/systems/1/bios/Settings"}}
Vom lesen her können die Fehlerlos durchaus komplett wegen dem DP sein...?
Sonst ist das Log super und alle DPs da.Das folgende Log ist vom Abruf des ilo 5
javascript.0 11:35:32.719 info registered 0 subscriptions, 1 schedule, 0 messages, 0 logs and 0 file subscriptions javascript.0 11:35:34.489 info Thermal-Daten erfolgreich abgerufen. javascript.0 11:35:34.489 error Fehler beim Abrufen der Thermal-Daten: Cannot read properties of undefined (reading 'trim') javascript.0 11:35:35.710 info System Data erfolgreich abgerufen. javascript.0 11:35:36.878 info PSU Data erfolgreich abgerufen. javascript.0 11:35:37.533 info Firmware Data erfolgreich abgerufen. javascript.0 11:35:37.951 info Network Data erfolgreich abgerufen. javascript.0 11:35:38.762 info 🧬 BIOS-Felder: • @odata.context: /redfish/v1/$metadata#Bios.Bios • @odata.etag: W/"B2467190023E121212858C6490CB8F5B" • @odata.id: /redfish/v1/systems/1/bios/settings/ • @odata.type: #Bios.v1_0_0.Bios • AttributeRegistry: BiosAttributeRegistryU41.v1_2_68 • Attributes: [object Object] • Id: settings • Name: BIOS Pending Settings javascript.0 11:35:38.763 info BIOS-Settings erfolgreich abgerufen. javascript.0 11:35:38.770 warn at Object.<anonymous> (script.js.Eigene_Scripte.ilo5:255:25) javascript.0 11:35:39.228 info Disks Data erfolgreich abgerufen. javascript.0 11:35:39.228 warn Keine PhysicalDrives-Verlinkung gefunden. javascript.0 11:35:39.575 info Raid Data erfolgreich abgerufen. javascript.0 11:35:39.575 warn Keine LogicalDrives-Verlinkung gefunden.
Teilweise bekomme ich korrekte DPs angelegt, teils mit falschen Inhalt.
Beide Script laufen im iobroker.
Ich habe die beiden Scripte im iobroker ilo4 und ilo5 genannt. Deshalb findest du die Begriffe im Log. -
Schau mal auf hithup, ich habe ein Script für ILO5 hinzugefügt, teste das mal.
Wie gesagt im Blindflug. -
Cool,
danke.
Lauft jetzt deutlich stabiler.
Scheint allgemein etwas weniger Infos zu geben, aber zumindest mich jucken die tiefsten BIOS Datenpunkte nicht.Nur zu den Drives werden keine Infos gefunden, das ist schade.
Und es scheint den gleichen oder ähnlichen Fehler zu geben, der mir auch bei der Version für den ILO4 ausgegeben wird.
javascript.0 2025-07-03 08:05:04.144 warn script.js.Eigene_Scripte.ilo5: Keine LogicalDrives-Verlinkung gefunden. javascript.0 2025-07-03 08:05:03.994 warn script.js.Eigene_Scripte.ilo5: Keine PhysicalDrives-Verlinkung gefunden. javascript.0 2025-07-03 08:05:03.854 warn at processImmediate (node:internal/timers:454:9) javascript.0 2025-07-03 08:05:03.854 warn at runNextTicks (node:internal/process/task_queues:60:5) javascript.0 2025-07-03 08:05:03.854 warn at createState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:2987:34) javascript.0 2025-07-03 08:05:03.854 warn at Object.<anonymous> (script.js.Eigene_Scripte.ilo5:232:22) javascript.0 2025-07-03 08:05:03.854 warn at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:2090:20) javascript.0 2025-07-03 08:05:03.853 warn You are assigning a object to the state "javascript.0.ilo5-testing.bios.Attributes" which expects a string. Please fix your code to use a string or change the state type to object. This warning might become an error in future versions. javascript.0 2025-07-03 08:05:03.848 info script.js.Eigene_Scripte.ilo5: BIOS-Settings erfolgreich abgerufen. javascript.0 2025-07-03 08:05:03.467 info script.js.Eigene_Scripte.ilo5: Netzwerkdaten erfolgreich abgerufen. javascript.0 2025-07-03 08:05:03.309 info script.js.Eigene_Scripte.ilo5: Firmware-Version erfolgreich abgerufen. javascript.0 2025-07-03 08:05:03.092 info script.js.Eigene_Scripte.ilo5: Power erfolgreich abgerufen. javascript.0 2025-07-03 08:05:02.945 info script.js.Eigene_Scripte.ilo5: Systeminfo erfolgreich abgerufen. javascript.0 2025-07-03 08:05:02.705 info script.js.Eigene_Scripte.ilo5: Thermal-Daten erfolgreich abgerufen. javascript.0 2025-07-03 08:05:01.737 info script.js.Eigene_Scripte.ilo5: registered 0 subscriptions, 1 schedule, 0 messages, 0 logs and 0 file subscriptions javascript.0 2025-07-03 08:05:01.732 info Start JavaScript script.js.Eigene_Scripte.ilo5 (Javascript/js) javascript.0 2025-07-03 08:05:01.636 info Stopping script script.js.Eigene_Scripte.ilo5
Da habe ich jetzt die beiden DPs, über die beide Scriptversionen meckern, (bei beiden ein Verschiedener unter Bios) von String auf Object geändert.
Bei der v4 Version "links" und bei der v5 Version "Attributes". Jetzt gibts keine Fehler mir und es kommt nur das reguläre logging.