NEWS
[Vorlage] MDCSS v2: ping-Adapter in vis anzeigen
-
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.
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 -
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
Gruss GL
-
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")} );
-
@mcgl Das Ping-Script habe ich vernachlässigt, nutze das TR064-Script. Schaue ich mir aber demnächst mal an. Danke.
-
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
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:3Noch 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.