Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Visualisierung
    4. [Vorstellung] Meine zweite Visualisierung

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    [Vorstellung] Meine zweite Visualisierung

    This topic has been deleted. Only users with topic management privileges can see it.
    • K
      Kuddel @opossum last edited by

      @opossum

      CPU, RAM und SSD vom ESX-NUC an ioBroker übergeben (Powershell)

      #Dieses Skript übergibt Informationen vom ESX-NUC an den ioBroker
      #Das Skript läuft im Hintergrund und wird bei der Anmeldung gestartet
      
      
      cls
      
      
      sleep 30
      
      #Import der PowerCLI Befehle
      Import-Module VMware.PowerCLI
      cls
      
      #Verbindung zum ESX-Host aufbauem
      Connect-VIServer 192.168.4.45 -user root -Password PASSWORD
      cls
      
      
      #Dauerschleife
      while($env:COMPUTERNAME -eq "Win10") {
      
              #ESX-NUC Infos Abfragen
              $esx_nuc_infos = get-vmhost
              #Freier RAM ESX-NUC
              $esx_nuc_ram = $esx_nuc_infos.MemoryUsageMB
              Invoke-WebRequest -Uri http://192.168.4.30:8087/set/javascript.0.ressourcen.esx.esx-nuc_mem_usage?value=$esx_nuc_ram | Out-Null
              $esx_nuc_ram_usage_percent = $esx_nuc_infos.MemoryUsageMB / $esx_nuc_infos.MemoryTotalMB
              $esx_nuc_ram_usage_percent = $esx_nuc_ram_usage_percent * 100
              $esx_nuc_ram_usage_percent = [math]::Round($esx_nuc_ram_usage_percent,0)
              Invoke-WebRequest -Uri http://192.168.4.30:8087/set/javascript.0.ressourcen.esx.esx-nuc_mem_usage_percent?value=$esx_nuc_ram_usage_percent | Out-Null
      
              #CPU Auslastung
              $esx_nuc_cpu_usage = [INT]$esx_nuc_infos.CpuUsageMhz
              Invoke-WebRequest -Uri http://192.168.4.30:8087/set/javascript.0.ressourcen.esx.esx-nuc_cpu_usage?value=$esx_nuc_cpu_usage | Out-Null
              $esx_nuc_cpu_usage_percent = $esx_nuc_infos.CpuUsageMhz / $esx_nuc_infos.CpuTotalMhz
              $esx_nuc_cpu_usage_percent = $esx_nuc_cpu_usage_percent * 100
              $esx_nuc_cpu_usage_percent = [math]::Round($esx_nuc_cpu_usage_percent,0)
              Invoke-WebRequest -Uri http://192.168.4.30:8087/set/javascript.0.ressourcen.esx.esx-nuc_cpu_usage_percent?value=$esx_nuc_cpu_usage_percent | Out-Null
      
      
              #Speicherauslastung SSD
              $datastore = Get-Datastore SSD
              $datastore_usage_percent = $datastore.CapacityGB - $datastore.FreeSpaceGB
              $datastore_usage_percent = $datastore_usage_percent / $datastore.CapacityGB
              $datastore_usage_percent = $datastore_usage_percent * 100
              $datastore_usage_percent = [math]::Round($datastore_usage_percent,2)
              Invoke-WebRequest -Uri http://192.168.4.30:8087/set/javascript.0.ressourcen.esx.esx-nuc_datastore_usage_percent?value=$datastore_usage_percent | Out-Null
              #Freier Speicher in GB
              Invoke-WebRequest -Uri http://192.168.4.30:8087/set/javascript.0.ressourcen.esx.esx-nuc_datastore_freespace?value=$($datastore.FreeSpaceGB) | Out-Null
      
                  
      }
      

      CPU, RAM, Freier Speicher C:\ und K:\ und Uptime von der WIn10 VM an iobroker übergeben (Powershell)

      cls
      
      sleep 30
      
      #Dauerschleife
      while($env:COMPUTERNAME -eq "Win10") {
      
          #Uptime Windows 10
          $wmio = Get-WmiObject win32_operatingsystem -ComputerName '127.0.0.1'
          $LocalTime = [management.managementDateTimeConverter]::ToDateTime($wmio.localdatetime)
          $LastBootUptime = [management.managementDateTimeConverter]::ToDateTime($wmio.lastbootuptime)
          $timespan = $localTime - $lastBootUptime
          $sekunden = $timespan.TotalSeconds
          Invoke-WebRequest -Uri http://192.168.4.30:8087/set/javascript.0.uptime.raw.windows10_raw?value=$sekunden | Out-Null
      
          #FreeSpace C in GB
          $freespace_c = Get-WmiObject Win32_LogicalDisk -Filter "DeviceID='C:'" | Foreach-Object {$_.FreeSpace}
          $freespace_c = $freespace_c / 1024 / 1024 / 1024
          $freespace_c = [math]::Round($freespace_c,2)
          Invoke-WebRequest -Uri http://192.168.4.30:8087/set/javascript.0.ressourcen.win10.win10_c_freespace?value=$freespace_c | Out-Null
          
          #FreeSpace K in GB
          $freespace_k = Get-WmiObject Win32_LogicalDisk -Filter "DeviceID='K:'" | Foreach-Object {$_.FreeSpace}
          $freespace_k = $freespace_k / 1024 / 1024 / 1024
          $freespace_k = [math]::Round($freespace_k,2)
          Invoke-WebRequest -Uri http://192.168.4.30:8087/set/javascript.0.ressourcen.win10.win10_k_freespace?value=$freespace_k | Out-Null
      
          #CPU Auslastung
          $cpu = Get-WmiObject win32_processor | select LoadPercentage
          $cpu = $cpu.LoadPercentage
          Invoke-WebRequest -Uri http://192.168.4.30:8087/set/javascript.0.ressourcen.win10.win10_cpu_usage?value=$cpu | Out-Null
      
          #RAM Auslastung
          $ram =  Get-Ciminstance Win32_OperatingSystem
          $ram = $ram.FreePhysicalMemory
          $ram = $ram / 1024
          $ram = 4096 - $ram
          $ram = $ram / 4096
          $ram = $ram * 100
          $ram = [math]::Round($ram,0)
          Invoke-WebRequest -Uri http://192.168.4.30:8087/set/javascript.0.ressourcen.win10.win10_ram_usage?value=$ram | Out-Null
          
          
      
      }
      

      1 Reply Last reply Reply Quote 0
      • opossum
        opossum last edited by

        Hallo, @Kuddel ,

        vielen Dank.

        Viele Grüße
        Egbert

        1 Reply Last reply Reply Quote 0
        • A
          Alero last edited by Alero

          @Kuddel
          super Arbeit!

          würde gerne dein Müllscript übernehmen. Klappt auch soweit.

          Habe nur 2 kleinere Probleme. (siehe Bild)

          79251a21-0192-4851-8629-13107defd74a-grafik.png

          1. ekomme die Grafik nicht in den Vordergrund.
          2. Warum habe ich da -1 stehen. Der Kalender ist bis ende des Jahres gefüllt.
            bd157b7b-2283-4197-b83f-152a1222cce2-grafik.png

            Wird hier nur innerhalb eines Kalendermonats gerechnet? Muss ich den Bereich der Tage erweitern? Ah, sehe gerade 90 Tage ist der schnitt. Dann sollte er aber was finden.

          Sorry , kenne mich mit java nicht aus.

          Hat keiner eine Idee warum es bei Brauer Tonne und Gelber Sack klappt und Grau und Papier nicht?

          Gruß
          Alero

          Röstkartoffel 1 Reply Last reply Reply Quote 0
          • A
            Alero last edited by Alero

            Hi,
            bekomme wohl auch eine FM im LOG.
            at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1869:34)

            Warum bekomme ich infos zu Brauner Tonne und gelber Sack und Papier und Restmüll nicht obwohl der kalender gefüllt ist?

            Gruß
            Alero

            1 Reply Last reply Reply Quote 0
            • Röstkartoffel
              Röstkartoffel @Alero last edited by

              @Alero sagte in [Vorstellung] Meine zweite Visualisierung:

              @Kuddel
              super Arbeit!

              würde gerne dein Müllscript übernehmen. Klappt auch soweit.

              Habe nur 2 kleinere Probleme. (siehe Bild)

              79251a21-0192-4851-8629-13107defd74a-grafik.png

              1. ekomme die Grafik nicht in den Vordergrund.
                ....

              erst einmal zu deinem Punkt 1:
              Befinden sich denn die Icons an der im Widget angegeben Stelle und ist der z-Index hoch genug?
              Abfallkalender.JPG

              Ich benutze für "false und "true" zwei unterschiedliche Icons:

              <img src="/vis.0/main/icons-user/muell_weiss_48dp.png" width="34" height="34" style="padding:8px;border-radius: 5px;" class="mdui-blue-bg"></img>
              
              <img src="/vis.0/main/icons-user/muell_rot_48dp.png" width="34" height="34" style="padding:8px;border-radius: 5px;" class="mdui-blue-bg"></img>
              

              Bei True (also am Tag der Abholung) ist die Mülltonne rot eingefärbt.

              A 1 Reply Last reply Reply Quote 0
              • A
                Alero @Röstkartoffel last edited by Alero

                @Röstkartoffel
                Hi, das mit den Icons habe ich erl.

                2a5ce576-38db-4acd-a824-241b88c72048-grafik.png

                Ich habe jetzt nur noch das Problem, dass er mir Papier (grüne Tonne nicht anzeigt obwohl ich im Kalenden für morgen einen Termin habe.
                6bb59d68-ebb0-409f-a915-d3279dcbe055-grafik.png

                Die Icons sin bei mir gleich

                73ff2079-d41c-4a1d-8e61-7a25a465aedf-grafik.png

                Gruß
                Alero

                Röstkartoffel 1 Reply Last reply Reply Quote 0
                • Röstkartoffel
                  Röstkartoffel @Alero last edited by

                  @Alero

                  Meinst liegt das Problem an den entsprechenden (nicht gleichlautenden) Einträgen im ICal, Script und Widget.
                  Wie hast du die -1 beim Hausmüll denn wegbekommen?

                  A 1 Reply Last reply Reply Quote 0
                  • A
                    Alero @Röstkartoffel last edited by Alero

                    @Röstkartoffel
                    Hi,

                    ich finde es komisch das er mir im log anzeigt, dass morgen Müll abgeholt wird.

                    c602200b-22ac-484c-b674-94be0beee76a-grafik.png

                    Hier noch einmal die Einstellungen aus dem Script. Die namen stiimmen (siehe Protokoll)
                    50396f51-d337-4aa6-b1e2-acd2f6850276-grafik.png

                    Unter Objekte steht aber -1 .
                    Gruß
                    Alero

                    1 Reply Last reply Reply Quote 0
                    • A
                      Alero last edited by Alero

                      Hi, ich habe mal im Script die Anfangsbuchstaben groß geschrieben (Restmuell, Papier usw.) weil unter Objekten die Namen mit Großbuchstaben beginnen.. jetzt geht es .

                      Komisch. waren bei allen klein geschrieben.
                      Wie seiht es denn bei dir aus wenn der Müll fällig ist?

                      Danke.
                      Gruß Alero

                      Röstkartoffel 1 Reply Last reply Reply Quote 0
                      • Röstkartoffel
                        Röstkartoffel @Alero last edited by

                        @Alero
                        Scripteinstellungen:

                        const PFAD = "ical.1.events.";
                        const EINTRAEGE = {
                        "Hausmüll": 'muell.restmuell',
                        "Altpapier": 'muell.papier',
                        "Biotonne": 'muell.bioabfall',
                        "GelberSack": 'muell.gelbersack'

                        Javascript Datenpunkte:
                        Abfallkalender Javascript DP.JPG

                        ICal:
                        Abfallkalender ICal.JPG

                        Im Widget wechselt die Zahl auf 0 wenn der Termin stattfindet.

                        A 1 Reply Last reply Reply Quote 0
                        • I
                          Iomega last edited by

                          Erstmal 1000Dank für diese Visualisierung von (Dir) Kuddel! Ohne die Beispiele war ich hilflos. Mit ihnen und mit diesem tollen Design bin ich super happy. Jetzt wo es mehr wird, habe ich nur eine Problem:

                          Nach einigen Tab-Wechseln funktionieren die Icon/Umrandungen teilweise nicht. Meist wechselt noch eines von beiden in den richtigen Zustand (Bespiel: Icon "Tür auf" und Rand auf rot), aber nicht beide 😞 .

                          Habt ihr dazu eine Idee? Wie z.B.

                          • zu wenig Speicher auf dem Raspi3 (eigentlich noch 120MB/frei)
                          • Probleme auf in der Runtimeenv auf dem Ipad
                          • zu viele Dead Links auf nicht existierende ioBroker-Werte (zuviel Copy&Paste von Kuddel)
                          K I 2 Replies Last reply Reply Quote 0
                          • I
                            Iomega last edited by

                            Hier mal der Screenshot dazu. => Gelbe Ovale

                            • Lampen-Icon okay, aber Rahmen müsste gelb sein
                            • Tür Rahmen = grün (zu) okay, aber Icon ist Tür offen.
                              Nach Löschen des Cache und dann dem ersten Aufruf ist alle korrekt.
                              ioBroker.PNG
                            1 Reply Last reply Reply Quote 0
                            • K
                              Kuddel @Iomega last edited by

                              @Iomega ist es ein dauerhaftes Problem, oder tritt es immer nur sporadisch auf ?

                              Haste du den ioBroker mal neugestartet?

                              Wie sieht die System-Auslastung bei Auftreten des Problems aus ?

                              I 1 Reply Last reply Reply Quote 0
                              • J
                                Jason last edited by

                                Hallo.. ich mal wieder nach längerer Zeit...

                                Also den Mond bring ich einfach nicht zum laufen....wird einfach nicht angezeigt... hab eure tipps schon alle umgesetzt, leider ohne erfolg!

                                Jetzt aber meine eigentliche Frage:
                                Ist es möglich wenn ich mir die Luftfeuchte anzeigen lasse, es so zu machen, das wenn die Feuchte ok (40-60%) ist mir das grün umrandet angezeigt wird.
                                Dann eine gelbe Umrandung bei leicht erhöht (61-65%) und schließlich eine rote (ab 66% (vielleicht blinkend)) bei zu hoch!

                                Vielen herzlichen Dank

                                1 Reply Last reply Reply Quote 0
                                • I
                                  Iomega last edited by

                                  Ja, siehe oben 🙂

                                  Variable anlegen und mit einem Programm je nach Luftfeuchtigkeit setzen. Ich benutze fünf Stufen (0-4) und setzte die Umrandung mit der Kuddel HTML List.

                                  Bei mir läuft das auf der CCU...

                                  J 1 Reply Last reply Reply Quote 0
                                  • I
                                    Iomega @Kuddel last edited by

                                    @Kuddel

                                    Ja, reproduzierbar.
                                    Restart hat nix gebracht.
                                    Auslastung muss ich noch checken.

                                    1 Reply Last reply Reply Quote 0
                                    • J
                                      Jason @Iomega last edited by

                                      @Iomega
                                      leider fehlt mir das know how um das ganze umzusetzen, gibts da vielleicht schon etwas fertiges?

                                      1 Reply Last reply Reply Quote 0
                                      • Uli977
                                        Uli977 last edited by

                                        Hallo Kuddel,

                                        spitzen Visualisierung!

                                        Sag mal kann es sein dass zum Beispiel ein Script für Astro fehlt?

                                        Suche dies hier "javascript.0.zeiten.tageslaenge_fortschritt"

                                        Viele Grüße!

                                        1 Reply Last reply Reply Quote 0
                                        • S
                                          Superdad last edited by

                                          Hier bitte!

                                          createState('javascript.0.zeiten.sonnenuntergang', false, {type: 'string',name: 'sonnenuntergang'});
                                          createState('javascript.0.zeiten.sonnenaufgang', false, {type: 'string',name: 'sonnenaufgang'});
                                          createState('javascript.0.zeiten.sonnenaufgang_stunde', false, {type: 'string',name: 'sonnenaufgang_stunde'});
                                          createState('javascript.0.zeiten.sonnenaufgang_minute', false, {type: 'string',name: 'sonnenaufgang_minute'});
                                          createState('javascript.0.zeiten.nachtlaenge', false, {type: 'string',name: 'nachtlaenge'});
                                          createState('javascript.0.zeiten.nachtlaenge_in_minuten', false, {type: 'string',name: 'nachtlaenge_in_minuten'});
                                          createState('javascript.0.zeiten.nachtlaenge_keinlicht', false, {type: 'string',name: 'nachtlaenge_keinlicht'});
                                          createState('javascript.0.zeiten.nachtlaenge_fortschritt', false, {type: 'string',name: 'nachtlaenge_fortschritt'});
                                          createState('javascript.0.zeiten.tageslaenge', false, {type: 'string',name: 'tageslaenge'});
                                          createState('javascript.0.zeiten.tageslaenge_differenz', false, {type: 'string',name: 'tageslaenge_differenz'});
                                          createState('javascript.0.zeiten.tageslaenge_fortschritt', false, {type: 'string',name: 'tageslaenge_fortschritt'});
                                          createState('javascript.0.zeiten.tageslaenge_in_minuten', false, {type: 'string',name: 'tageslaenge_in_minuten'});
                                          createState('javascript.0.zeiten.tageslaenge_tageslicht', false, {type: 'string',name: 'tageslaenge_tageslicht'});
                                          createState('javascript.0.zeiten.tageslaenge_tageslicht_in_minuten', false, {type: 'string',name: 'tageslaenge_tageslicht_in_minuten'});
                                          createState('javascript.0.zeiten.tageslaenge_timer_restart', false, {type: 'boolean',name:'tageslaenge_timer_restart'});
                                          

                                          und ein Blockly für Zeiten:

                                          Zeiten.txt

                                          Uli977 1 Reply Last reply Reply Quote 0
                                          • Uli977
                                            Uli977 @Superdad last edited by Uli977

                                            @Superdad So?
                                            zeiten.png
                                            blocky.png

                                            Habe leider immer noch keine Werte

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            999
                                            Online

                                            31.7k
                                            Users

                                            79.6k
                                            Topics

                                            1.3m
                                            Posts

                                            template vis
                                            148
                                            1324
                                            442828
                                            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