NEWS
SOLVED [Gelöst] ID oder Name eines State in Vis anzeigen
-
@dirk1962 es ist zwar mein script die grundlage aber die abfrage habe ich nicht gemacht
das hier macht wenig sinn
$('tr-064.*.devices.*.lastMAC-address').each(function(id, i) { // hier eigenen hostnamen eintragen var ida = id.split('.'); // SEHR WICHTIG - MUSS IN JEDER SCHLEIFE INTEGRIERT SEIN let val0help=getObject(ida[0]+"."+ida[1]+"."+ida[2]+"."+ida[3]).common.name; val0=val0help.replace(/(.+) \(.+\)/,"$1") val1=(getState(id.replace("lastMAC-address","lastIP")).val); if (getState(id).val==false) {val2=symbolKO} else{val2=symbolOK}
die last macadress ist nicht wichtig fürden status ob activ oder nicht
if (getState(id).val==false) {val2=symbolKO} else{val2=symbolOK} setzt die dritte spalte aber der wert ist kein boolean - daher ändert sich auch nix
versuch mal:
$('tr-064.*.devices.*.lastMAC-address').each(function(id, i) { // hier eigenen hostnamen eintragen var ida = id.split('.'); // SEHR WICHTIG - MUSS IN JEDER SCHLEIFE INTEGRIERT SEIN let val0help=getObject(ida[0]+"."+ida[1]+"."+ida[2]+"."+ida[3]).common.name; val0=val0help.replace(/(.+) \(.+\)/,"$1") val1=(getState(id.replace("lastMAC-address","lastIP")).val); if (getState(id.replace("lastMAC-address","active")).val==false) {val2=symbolKO} else{val2=symbolOK}
diese zeile ersetzen:
if (getState(id).val==false) {val2=symbolKO} else{val2=symbolOK}
mit:
if (getState(id.replace("lastMAC-address","active")).val==false) {val2=symbolKO} else{val2=symbolOK}
sollte funktionieren - habe das script selbst nicht - kann es daher nicht testen
-
@Dolomiti
@Oliver-Böhm
hier mal mein vorschlag:habe in blockly folgendes angelegt:
inhalt ist:
var obj = getObject("ping.0.raspberry3.192_168_178_157"); console.log(obj.common.name)
damit bekomme ich den namen - diesen speichere ich dann in einen extra datenpunkt
(wahrscheinlich gehts auch anders - aber ich glaube, blockly direct unterstützt das nicht - https://forum.iobroker.net/post/240879)
-
@liv-in-sky
Und wie das funktioniert!!
Großes Kino, vielen Dank und schönes langes WE.@Negalein
Frage mich echt, wie das Script bei Dir den richtigen Status anzeigt. Solltest Du vielleicht nochmal prüfen. -
@dirk1962 sagte in [Gelöst] ID oder Name eines State in Vis anzeigen:
Frage mich echt, wie das Script bei Dir den richtigen Status anzeigt. Solltest Du vielleicht nochmal prüfen.
jetzt hast mich neugierig gemacht, vorallem da ich schon ewig nicht mehr diese liste angesehen habe.
Fakt ist:
man kann auch Fritz nicht vertrauen.
Habe das Script abgeändert wie oben beschrieben.
Fritz zeigt Geräte offline, die aber definitiv online sind (sonst könnte ich jetzt nicht dies schreiben).
Vorher war echt fast alles online. War aber am Anfang definitiv nicht so. -
@negalein kann man seine Grafiken auch definieren, die man vorher in ,,vis.0,, hochgeladen hat. mich würde nur die Eintragung intterisiren wie man das bewerkstelligt.
var symbolOK="🟢"; // auch möglich: ="✅"
wie definiert man seine eigenen Grafiken.
danke
-
ein beispiel schaut dann ung. so aus:
let symbolOK= `<img src="/vis.0/bilder/img/tankstellen/erstewahl.jpg" height="20px" width="20px">`
-
@liv-in-sky sagte in [Gelöst] ID oder Name eines State in Vis anzeigen:
let symbolOK=
<img src="/vis.0/bilder/img/tankstellen/erstewahl.jpg" height="20px" width="20px">
Perfekt....danke
-
ich frage mich gerade ob bei diesem Code abschnitt:
let val0help=getObject(ida[0]+"."+ida[1]+"."+ida[2]+"."+ida[3]).common.name;
da wird ja der Name aus dem Adapter herausgefiltert, ob man das Rot, für Offline
und grün für Online den Namen einfärben kann. -
theoretisch kein problem- außer es wird im script später nach namen sortiert
man muss den wert in einen html tag einsetzen
-
probier mal diese zeile anzugleichen
if (getState(id.replace("lastMAC-address","active")).val==false) {val2=symbolKO} else{val2=symbolOK}
ZU:
if (getState(id.replace("lastMAC-address","active")).val==false) {val2=symbolKO; val0= `<font color="red"`+val0+`</font>` } else{val2=symbolOK; val0= `<font color="green"`+val0+`</font>`}
-
bis auf den Font Color Tag war es korrekt--->DANKE