Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. Script: HP-ILO 4 Abfrage Temperaturen und FanSpeed

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Script: HP-ILO 4 Abfrage Temperaturen und FanSpeed

    This topic has been deleted. Only users with topic management privileges can see it.
    • Lucifor1976
      Lucifor1976 last edited by Lucifor1976

      Hallo zusammen,

      ich nutzte lange den HP-ILO Adapter um meine beiden Server auszulesen.
      Der Adapter wird leider nicht weiter geplegt (letze Änderung vor 5 Jahren).

      Ich habe nun dazu ein Javascript erstellt, welches das gleiche tut.
      Für diejenigen die den Adapter ebenfalls vermissen vielleicht eine Alternative.
      Einfach in Javascript reinkopieren und im iobroker Axiox istallieren. Ohne Axios wird das Script nicht funktionieren.

      Script:

      outdated
      

      Axios installieren:
      auf iobroker per ssh einloggen

      per

      cd /opt/iobroker/node_modules/iobroker.javascript
      

      ins richtige Verzeichnis welchseln und dann per:

      sudo npm install axios
      

      Axios installieren, danach javascript neu starten:

      iobroker restart javascript
      

      Danach das Script starten.
      fertig

      Gruß
      Lucifor

      Künftige Änderungen hier:

      https://github.com/Lucifor1976/HP-ILO
      

      Update: 29.06.2025 12:30

      Das Script ruft nun alle verfügbaren Daten aus dem Server ab.
      Voraussetzung ist ILO 4 Version 2.81 (also die letzte die mit der Service DVD kam)
      Das Script speichert BEnutzername und Kennwort im Klartext, das muss dir bewusst sein!

      Erfolgreich abgerufen wird:
      BIOS
      Physische DISKS
      FANS
      FIRMWARE
      NETWORK
      POWER (Consumption only)
      RAID Konfiguration
      SMART
      SYSTEM
      TEMPERATUREN

      Update: Bei überschreiten von 70 Grad der CPU´s oder bei Ausfall eines PSU wird ein Telegram abgesetzt und eine Alexa Ansage getätigt. (Abschaltbar)

      https://github.com/Lucifor1976/HP-ILO
      

      David G. 2 Replies Last reply Reply Quote 2
      • David G.
        David G. @Lucifor1976 last edited by David G.

        @lucifor1976

        Sehr cool.
        Habe ich neulich mal über snmp probiert,allerdings nicht alles hinbekommen wie ich wollte.

        Bin gespannt, was alles noch mit uns Script kommt. Ilo kann ja einiges ausgeben. Werte zu den HDDs bzw SSDs fände ich noch sehr interessant.

        Werde das Script die Tage mal testen.

        P. S.
        Reicht es nicht axios in der Javascript Instanz als Modul hinzuzufügen?

        Screenshot_20250629_090534_Chrome.jpg

        Lucifor1976 1 Reply Last reply Reply Quote 0
        • Lucifor1976
          Lucifor1976 @David G. last edited by

          @david-g

          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..

          David G. 1 Reply Last reply Reply Quote 0
          • David G.
            David G. @Lucifor1976 last edited by

            @lucifor1976

            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.

            Lucifor1976 1 Reply Last reply Reply Quote 0
            • Lucifor1976
              Lucifor1976 @David G. last edited by

              @david-g

              hier:

              // === Erstaufruf + Intervall
              readILO();
              schedule('*/2 * * * *', readILO); // alle 2 Minuten
              

              Klappt (zumindest bei mir)

              David G. 1 Reply Last reply Reply Quote -1
              • David G.
                David G. @Lucifor1976 last edited by

                @lucifor1976

                Meine für was die Zeile ist

                const pollInterval     = 1 * 60 * 1000; // alle 1 Minuten
                
                Lucifor1976 1 Reply Last reply Reply Quote 0
                • Lucifor1976
                  Lucifor1976 @David G. last edited by

                  @david-g

                  😬
                  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.

                  David G. 1 Reply Last reply Reply Quote 0
                  • David G.
                    David G. @Lucifor1976 last edited by

                    @lucifor1976

                    Ich würde es garnicht hinbekommen.
                    Zum Glück gibt's Blockly 🤣
                    Oder das Forum und ChatGPT wenn es JS sein muss.

                    Lucifor1976 1 Reply Last reply Reply Quote 0
                    • Lucifor1976
                      Lucifor1976 @David G. last edited by

                      @david-g

                      Eingangspost aktuallisiert.
                      Script angepasst und getestet.

                      Lucifor1976 1 Reply Last reply Reply Quote 0
                      • Lucifor1976
                        Lucifor1976 @Lucifor1976 last edited by Lucifor1976

                        Meine (unfertige) VIS zum Server sieht so aus:

                        Bildschirmfoto 2025-06-29 um 11.48.27.png

                        Bildschirmfoto 2025-06-29 um 12.05.34.png

                        1 Reply Last reply Reply Quote 0
                        • David G.
                          David G. last edited by David G.

                          @lucifor1976

                          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.
                          Screen_Recordin-1751201526282.gif

                          Lucifor1976 1 Reply Last reply Reply Quote 0
                          • Lucifor1976
                            Lucifor1976 @David G. last edited by

                            @david-g

                            Du scollst zu schnell, das ist nix für meine alten Augen..

                            David G. 1 Reply Last reply Reply Quote 0
                            • David G.
                              David G. @Lucifor1976 last edited by

                              @lucifor1976

                              Neu hochgeladen mit optimierung für die alten Augen^^.

                              1 Reply Last reply Reply Quote 1
                              • David G.
                                David G. @Lucifor1976 last edited by David G.

                                @lucifor1976

                                Script läuft auf dem ersten Server gut und ruft ordentlich Daten ab.
                                iLO 4 v2.61

                                Etwas 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.
                                
                                Lucifor1976 1 Reply Last reply Reply Quote 0
                                • Lucifor1976
                                  Lucifor1976 @David G. last edited by Lucifor1976

                                  @david-g

                                  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?

                                  Bildschirmfoto 2025-06-30 um 19.35.48.png

                                  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.

                                  David G. 1 Reply Last reply Reply Quote 0
                                  • David G.
                                    David G. @Lucifor1976 last edited by David G.

                                    @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
                                    Screenshot_20250630_204046_Chrome.jpg

                                    Lucifor1976 1 Reply Last reply Reply Quote 0
                                    • Lucifor1976
                                      Lucifor1976 @David G. last edited by

                                      @david-g

                                      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..

                                      David G. 1 Reply Last reply Reply Quote 0
                                      • David G.
                                        David G. @Lucifor1976 last edited by

                                        @lucifor1976

                                        Auf dem 4er klappt ja alles.
                                        Bekomme gefühlt hunderte Datenpunkte korrekt ausgefüllt.

                                        Hab nur die Fehler im log.

                                        Lucifor1976 1 Reply Last reply Reply Quote 0
                                        • Lucifor1976
                                          Lucifor1976 @David G. last edited by Lucifor1976

                                          @david-g

                                          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...

                                          David G. 1 Reply Last reply Reply Quote 0
                                          • David G.
                                            David G. @Lucifor1976 last edited by David G.

                                            @lucifor1976

                                            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.

                                            Lucifor1976 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            627
                                            Online

                                            31.8k
                                            Users

                                            80.0k
                                            Topics

                                            1.3m
                                            Posts

                                            2
                                            24
                                            173
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo