Device-Namen (bzw. Alias) in Standard Device-Zeile (Raumsicht) nicht anzeigen

Begonnen von DS_Starter, 14 Juni 2018, 11:47:49

Vorheriges Thema - Nächstes Thema

DS_Starter

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@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

rudolfkoenig

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


Zitataber 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.

DS_Starter

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@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

DS_Starter

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@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

rudolfkoenig

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 :)

DS_Starter

Danke Rudi, FW_hideDisplayName passt und meine Welt ist auch wieder in Ordnung  :)

Grüße
Heiko
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter