Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Visualisierung
    4. [Vorlage] MDCSS v2: ping-Adapter in vis anzeigen

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

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

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

      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

      ▶ Beschreibung (Github)
      ▶ Download (Github)

      1 Reply Last reply Reply Quote 4
      • M
        mcgl last edited by

        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 1 Reply Last reply Reply Quote 0
        • M
          mcgl @mcgl last edited by 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")} );
          
          Uhula 1 Reply Last reply Reply Quote 0
          • Uhula
            Uhula @mcgl last edited by

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

            1 Reply Last reply Reply Quote 0
            • Salzer Michael
              Salzer Michael last edited by

              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 Michael 1 Reply Last reply Reply Quote 0
              • Salzer Michael
                Salzer Michael @Salzer Michael last edited by

                @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 Reply Last reply Reply Quote 0
                • First post
                  Last post

                Support us

                ioBroker
                Community Adapters
                Donate

                459
                Online

                31.6k
                Users

                79.6k
                Topics

                1.3m
                Posts

                material css material ui template vis
                3
                6
                1489
                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