Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Visualisierung
  4. [Vorlage] MDCSS v2: ping-Adapter in vis anzeigen

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.7k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.2k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.2k

[Vorlage] MDCSS v2: ping-Adapter in vis anzeigen

Geplant Angeheftet Gesperrt Verschoben Visualisierung
vismaterial uimaterial csstemplate
6 Beiträge 3 Kommentatoren 1.8k Aufrufe 8 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • UhulaU Offline
    UhulaU Offline
    Uhula
    schrieb am zuletzt editiert von Uhula
    #1

    Hier ein Script und Beispiel-view, welches es erlaubt die ping-Adapter States in der vis als Table oder List anzuzeigen. Als Basis für die View wird das Material Design CSS v2 verwendet. Anbei zwei Beispiele, einmal mit 480px Breite und einmal mit 360px Breite, jeweils List- und Table-Anzeige. Details zur Installation und Konfiguration im Script selbst.

    1b95a6a4-5556-48ba-bdfe-b014d0c326aa-image.png 769bf23b-45fe-4b02-9add-12e26fbbacea-image.png

    Installation

    Einfach als serverseitiges Script installieren und starten-5 Sek warten-stoppen-starten. Beim 1.Start werden
    die notwendigen States unter STATE_PATH = '0_userdata.0.mdui.logPing.' erzeugt. Erst beim 2.Start
    instanziiert das Script die Event-Handler und läuft dann.

    Konfiguration

    Optional im MduiLogPing.doInit() die const anpassen.
    Optional Anpassung der tmpTable und tmpList (z.B. fpr eigene Icons & Colors)
    Bei Anpassung der tmpTable und tmpList auch ohne MD CSS Style nutzbar.

    States

    Unter dem STATE_PATH werden die folgenden States erzeugt:
    version : Script-Version, wird verwendet um Script-Updates zu erkennen
    table : enthält die table-HTML für ein basic-string (unescaped) Widget
    list : enthält die list-HTML für ein basic-string (unescaped) Widget
    count : Anzahl der Log-Zeilen
    countUnreached : Anzahl der Log-Zeilen, welche den Zustand FALSE haben
    lastUpdate : Timestamp des letzten Updates

    :arrow_forward: Beschreibung (Github)
    :arrow_forward: Download (Github)

    Uhula - Leise und Weise
    Ex: ioBroker on Gigabyte NUC Proxmox

    1 Antwort Letzte Antwort
    4
    • M Offline
      M Offline
      mcgl
      schrieb am zuletzt editiert von
      #2

      Hi Uhula

      Vielen Dank für deine super Arbeit. Auch hier wieder, top!!

      Allerdings musste ich feststellen, dass die Umlaute im Script auf Github nicht korrekt sind sondern mit ä angezeigt werden.

      Ich habe dies gelöst in dem ich alle gesucht und ersetzt habe, allerdings denke ich wäre es sinnvoll dies gleich in der Quelle zu ändern :)

      ctrl+f, dann den linken Pfeil nach unten anklicken, und mann kann suchen / ersetzen
      2020-05-06 12_08_49-javascript - ioBroker.png

      Gruss GL

      ioBroker auf Synology Diskstation in VM Debian

      Shelly, Sonoff, ESP, Osram Lightify (leider), 2x Roborock 2 gen, Unfi Hotspots

      M 1 Antwort Letzte Antwort
      0
      • M mcgl

        Hi Uhula

        Vielen Dank für deine super Arbeit. Auch hier wieder, top!!

        Allerdings musste ich feststellen, dass die Umlaute im Script auf Github nicht korrekt sind sondern mit ä angezeigt werden.

        Ich habe dies gelöst in dem ich alle gesucht und ersetzt habe, allerdings denke ich wäre es sinnvoll dies gleich in der Quelle zu ändern :)

        ctrl+f, dann den linken Pfeil nach unten anklicken, und mann kann suchen / ersetzen
        2020-05-06 12_08_49-javascript - ioBroker.png

        Gruss GL

        M Offline
        M Offline
        mcgl
        schrieb am zuletzt editiert von mcgl
        #3

        @Uhula

        Habe keien Ahnugn von Github aber habe versucht dein Script direkt zu korrigieren, Ich hoffe ich habe es richtig gemacht.
        $
        Hab übrigens nochmals etwas entdeckt:
        Bei mir wird in der Tabellen ansicht die Ip als undefined angezeigt bei jedem Gerät.

        Wenn ich im JS die Zeile native.ip :

                    json.push( {ip:stateobj.native.ip, name:stateobj.common.name, val:state.val, lc:formatDate(state.lc, "TT.MM SS:mm:ss")} );
        

        abändere zu native.host:

        json.push( {ip:stateobj.native.host, name:stateobj.common.name, val:state.val, lc:formatDate(state.lc, "TT.MM SS:mm:ss")} );
        

        klappt es :)

        Noch etwas: optional aber mir gefällt es viel besser.

        auf Zeile 205 habe ich etwas abgeändert, um das überflüssige "Alive" aus dem Namen heraus zu kriegen:

        var NameObject =stateobj.common.name
        json.push( {ip:stateobj.native.host, name:NameObject.replace(/Alive/i, ""), val:state.val, lc:formatDate(state.lc, "TT.MM SS:mm:ss")} );
        

        ioBroker auf Synology Diskstation in VM Debian

        Shelly, Sonoff, ESP, Osram Lightify (leider), 2x Roborock 2 gen, Unfi Hotspots

        UhulaU 1 Antwort Letzte Antwort
        0
        • M mcgl

          @Uhula

          Habe keien Ahnugn von Github aber habe versucht dein Script direkt zu korrigieren, Ich hoffe ich habe es richtig gemacht.
          $
          Hab übrigens nochmals etwas entdeckt:
          Bei mir wird in der Tabellen ansicht die Ip als undefined angezeigt bei jedem Gerät.

          Wenn ich im JS die Zeile native.ip :

                      json.push( {ip:stateobj.native.ip, name:stateobj.common.name, val:state.val, lc:formatDate(state.lc, "TT.MM SS:mm:ss")} );
          

          abändere zu native.host:

          json.push( {ip:stateobj.native.host, name:stateobj.common.name, val:state.val, lc:formatDate(state.lc, "TT.MM SS:mm:ss")} );
          

          klappt es :)

          Noch etwas: optional aber mir gefällt es viel besser.

          auf Zeile 205 habe ich etwas abgeändert, um das überflüssige "Alive" aus dem Namen heraus zu kriegen:

          var NameObject =stateobj.common.name
          json.push( {ip:stateobj.native.host, name:NameObject.replace(/Alive/i, ""), val:state.val, lc:formatDate(state.lc, "TT.MM SS:mm:ss")} );
          
          UhulaU Offline
          UhulaU Offline
          Uhula
          schrieb am zuletzt editiert von
          #4

          @mcgl Das Ping-Script habe ich vernachlässigt, nutze das TR064-Script. Schaue ich mir aber demnächst mal an. Danke.

          Uhula - Leise und Weise
          Ex: ioBroker on Gigabyte NUC Proxmox

          1 Antwort Letzte Antwort
          0
          • Salzer MichaelS Offline
            Salzer MichaelS Offline
            Salzer Michael
            schrieb am zuletzt editiert von
            #5

            Hallo

            Ich Versuche gerade dieses Scrip so anzupassen um "Alive" weg zu bekommen.
            Aber dann bekomm ich diverse Fehler im LOG Angezeigt.
            Jeman da der helfen kann ?

            Salzer MichaelS 1 Antwort Letzte Antwort
            0
            • Salzer MichaelS Salzer Michael

              Hallo

              Ich Versuche gerade dieses Scrip so anzupassen um "Alive" weg zu bekommen.
              Aber dann bekomm ich diverse Fehler im LOG Angezeigt.
              Jeman da der helfen kann ?

              Salzer MichaelS Offline
              Salzer MichaelS Offline
              Salzer Michael
              schrieb am zuletzt editiert von
              #6

              @salzer-michael
              Kann wer Helfen ?
              MDCSS v2: ping-Adapter in vis anzeigen
              //
              onChangeReachable(obj) {
              let pings = $(this.PING_INSTANCE+'.');
              let json = [];
              for (let i=0; i<pings.length; i++) {
              let state = getState( pings[i] );
              let stateobj = getObject( pings[i] );
              //var NameObject =stateobj.common.name beispiel Var:var mduiLogPing = new MduiLogPing( );
              if (state && stateobj);
              var NameObject = stateobj.common.name
              json.push( {ip:stateobj.native.host, name:NameObject.replace(/Alive/i, ""), val:state.val, lc:formatDate(state.lc, "TT.MM SS:mm:ss")} );
              }
              this.convertJSON2HTML(json);
              }

              09:48:21.425 error javascript.0 (26535) script.js.common.pingJson.pingJson: TypeError: Cannot read property 'common' of null
              09:48:21.425 error javascript.0 (26535) at MduiLogPing.onChangeReachable (script.js.common.pingJson.pingJson:200:39)
              09:48:21.425 error javascript.0 (26535) at MduiLogPing.doStart (script.js.common.pingJson.pingJson:180:12)
              09:48:21.426 error javascript.0 (26535) at MduiLogPing.start (script.js.common.pingJson.pingJson:68:18)
              09:48:21.426 error javascript.0 (26535) at script.js.common.pingJson.pingJson:271:17
              09:48:21.426 error javascript.0 (26535) at script.js.common.pingJson.pingJson:278:3

              Noch etwas: optional aber mir gefällt es viel besser.

              auf Zeile 205 habe ich etwas abgeändert, um das überflüssige "Alive" aus dem Namen heraus zu kriegen:

              var NameObject =stateobj.common.name
              json.push( {ip:stateobj.native.host, name:NameObject.replace(/Alive/i, ""), val:state.val, lc:formatDate(state.lc, "TT.MM SS:mm:ss")} );

              Wenn das tue bekomm fehler im script.

              1 Antwort Letzte Antwort
              0
              Antworten
              • In einem neuen Thema antworten
              Anmelden zum Antworten
              • Älteste zuerst
              • Neuste zuerst
              • Meiste Stimmen


              Support us

              ioBroker
              Community Adapters
              Donate

              847

              Online

              32.4k

              Benutzer

              81.5k

              Themen

              1.3m

              Beiträge
              Community
              Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
              ioBroker Community 2014-2025
              logo
              • Anmelden

              • Du hast noch kein Konto? Registrieren

              • Anmelden oder registrieren, um zu suchen
              • Erster Beitrag
                Letzter Beitrag
              0
              • Home
              • Aktuell
              • Tags
              • Ungelesen 0
              • Kategorien
              • Unreplied
              • Beliebt
              • GitHub
              • Docu
              • Hilfe