Autor Thema: Device-Namen (bzw. Alias) in Standard Device-Zeile (Raumsicht) nicht anzeigen  (Gelesen 470 mal)

Online DS_Starter

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3043
Hallo zusammen,

gibt es eine Möglichkeit in der Standard Device-Zeile (Raumsicht) den Device-Namen (bzw. Alias) nicht anzeigen zu lassen ?

Ich kenne das FHEMWEB-Attribut nameDisplay. Aber es geht mir um eine Lösung in einem Modul, dass nach dem Define der Name in der
Raumansicht nicht abgebildet wird.

Mit $hash->{FW_atPageEnd} = 1 wie bei 98_weblink ist das zwar machbar und wäre perfekt, aber bei einem solchen Device greift dann Longpoll nicht.
Zumindest soweit ich probiert und gelesen habe.

Zur Zeit behelfe ich mir im Modul (49_SSCamSTRM) damit, dass ich den Alias mit einem "." vorbelege. Das hilft zwar, aber richtig schön ist das natürlich nicht.


Danke und viele Grüße
Heiko
ESXi 6.5 auf NUC6i5SYH mit FHEM auf Debian 9/64 Bit  (Stretch), DbLog/DbRep mit MariaDB auf Synology 415+
Maintainer: SSCam, DbLog/DbRep, Log2Syslog, Dashboard (interims)
aktive Mitarbeit:SMAEM, SMAInverter
Kaffeekasse: https://www.paypal.me/HMaaz

Offline rudolfkoenig

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 19347
Zitat
gibt es eine Möglichkeit in der Standard Device-Zeile (Raumsicht) den Device-Namen (bzw. Alias) nicht anzeigen zu lassen ?
Ich kenne keine.


Zitat
aber bei einem solchen Device greift dann Longpoll nicht.
Weil der Status von so einem Geraet nicht in einem HTML-Tag mit informid="devicename" eingepackt wird.
Kriegst du das mit deinem Modul hin?
Alternativ: attr device alias <span></span>
Wenn das auch nicht reicht, dann brauchen wir ein Regel, wann der Name nicht angezeigt werden soll.

Online DS_Starter

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3043
Hallo Rudi,

danke für den Hinweis. Das versuche ich mal.
Eine von den Varianten lässt sich bestimmt machen.
Wenn ich nicht klarkommen sollte melde ich mich nochmal.

viele Grüße,
Heiko

ESXi 6.5 auf NUC6i5SYH mit FHEM auf Debian 9/64 Bit  (Stretch), DbLog/DbRep mit MariaDB auf Synology 415+
Maintainer: SSCam, DbLog/DbRep, Log2Syslog, Dashboard (interims)
aktive Mitarbeit:SMAEM, SMAInverter
Kaffeekasse: https://www.paypal.me/HMaaz

Online DS_Starter

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3043
Die Variante mit "attr device alias <span></span>" habe ich umgesetzt und funktioniert auch soweit. Ist für den User etwas, sagen wir, ungewöhnlich. Außerdem ist bei mir das Ziel in der Funktion {FW_summaryFn} einen eigenen Link (Name oder Alias) an einer eigenen Stelle auf die Detailansicht einzubauen.
Würde der User z.B. den alias im Device setzen/anpassen, was ja üblich ist, wären dann zwei Links in der Summary vorhanden, was auch wieder unschön wäre.

Deswegen wäre es m.M. nach sehr hilfreich könnte man folgenden simplen Patch anwenden, den ich ausprobiert habe und auch nichts negatives aufgefallen ist.
 
In der 01_FHEMWEB vor der Zeile 1707 die rot markierte Zeile einfügen:

  undef $devName if($modules{$defs{$d}{TYPE}}{FW_noDisplayNameAlias});
  if($FW_hiddenroom{detail}) {
    FW_pO "<td><div class=\"col1\">$icon$devName</div></td>"
          if(!$usuallyAtEnd->{$d});
  } else {
    FW_pH "detail=$d", "$icon$devName", 1, "col1" if(!$usuallyAtEnd->{$d});
  }

Dann könnte der Modulautor in der Initial-Sektion mit

$hash->{FW_noDisplayNameAlias} = 1;

bestimmen, dass bei den Device dieses Moduls der Name/Alias in der Standardzeile nicht erscheinen soll.

Mit der Variante informid bin ich nicht ganz glücklich geworden. Prinzipiell habe ich es hinbekommen, dass Readings im Device mit einer informid und $hash->{FW_atPageEnd} = 1 per Longpoll geändert werden. Aber die Änderung von Bildstreams über diesen Weg hat noch nicht geklappt. Entweder geht es nicht oder es ist momentan zu kompliziert für mich so etwas zu realisieren.

Wie denkst du über diese kleine Ergänzung in 01_FHEMWEB ?
 
ESXi 6.5 auf NUC6i5SYH mit FHEM auf Debian 9/64 Bit  (Stretch), DbLog/DbRep mit MariaDB auf Synology 415+
Maintainer: SSCam, DbLog/DbRep, Log2Syslog, Dashboard (interims)
aktive Mitarbeit:SMAEM, SMAInverter
Kaffeekasse: https://www.paypal.me/HMaaz

Offline rudolfkoenig

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 19347
Danke fuer die Idee, ich habe es leicht geaendert uebernommen:  $devName="" if($modules{$defs{$d}{TYPE}}{FW_hideDisplayName}); # Forum 88667undef ist mir unheimlich, sollte eigentlich eine Warning erzeugen, tut aber nicht.
FW_hideDisplayName finde ich sprechender.

Nachtrag: undef tut doch eine Warning erzeugen, meine Welt ist wieder in Ordnung :)
« Letzte Änderung: 15 Juni 2018, 21:09:53 von rudolfkoenig »

Online DS_Starter

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3043
Danke Rudi, FW_hideDisplayName passt und meine Welt ist auch wieder in Ordnung  :)

Grüße
Heiko
ESXi 6.5 auf NUC6i5SYH mit FHEM auf Debian 9/64 Bit  (Stretch), DbLog/DbRep mit MariaDB auf Synology 415+
Maintainer: SSCam, DbLog/DbRep, Log2Syslog, Dashboard (interims)
aktive Mitarbeit:SMAEM, SMAInverter
Kaffeekasse: https://www.paypal.me/HMaaz

 

decade-submarginal