FHEM Forum

FHEM => Frontends => Thema gestartet von: Happy Fhem User am 28 Januar 2014, 20:43:29

Titel: Proposal: Default "room" in motd
Beitrag von: Happy Fhem User am 28 Januar 2014, 20:43:29
Ich hab da einen Vorschlag für die Erweiterung vom Modul "01_FHEMWEB.pm".

Könnte man nicht die Definition des Attributs "motd" dahingehend erweitern, dass es den "Default" Raum enthalten darf, der angezeigt wird beim Betreten der FHEM Oberfläche?

Ich teste es hier gerade seit 2 Wochen und finde es sehr angenehm und deutlich besser als <script>window.location.href='/fhem?room=Zentrale';</scipt>

und funktioniert über meine 4 FHEMWEB-Instanzen (die Javascript Lösung leider nicht).

Code-technisch bedarf es nur 4 Codezeilen (falls man als magic Tag z.b. "room=<x>;" nutzt:


       AttrVal("global", "motd", "none") ne "none") {
         my $motd = AttrVal("global","motd",undef);
+        if (($FW_room)=($motd=~/^room=(.*);/)) {
+          FW_showRoom();
+        } else {
           $motd =~ s/\n/<br>/g;
           FW_pO "<div id=\"content\">$motd</div>";
+       }
      }


Dumme Idee?
Titel: Antw:Proposal: Default "room" in motd
Beitrag von: rudolfkoenig am 28 Januar 2014, 21:08:36
Ja, aus zwei Gruenden:
1. es ist nicht intuitiv
2. zerstoert die urspruengliche Funktionalitaet (eine Meldung anzuzeigen)

Warum will man sowas haben, wo doch so hervorragende Bookmark-Moeglichkeiten gibt?

Titel: Antw:Proposal: Default "room" in motd
Beitrag von: Happy Fhem User am 29 Januar 2014, 08:28:02
Zitat
Warum will man sowas haben, wo doch so hervorragende Bookmark-Moeglichkeiten gibt?

Weil verschiedene Kommandos immer wieder auf diese Seite führen (z.B. weblink-Kommandos, Save config).


Zitat
2. zerstoert die urspruengliche Funktionalitaet (eine Meldung anzuzeigen)

Ich muss zugestehen, für diese Funktionalität fehlt mir noch der Anwendungsfall. Um eine statische Meldung auf einer Seite zu platzieren, gibt es andere Kommandos. Die erscheinen dann auch dort, wo ich es möchte.

Die Meldung "motd" erscheint meiner intuitiven Wahrnehmung nach zufälligen Aktionen, z.B. einen Weblink anklicken.
Titel: Antw:Proposal: Default "room" in motd
Beitrag von: Happy Fhem User am 13 Februar 2014, 20:00:36
Gibt es eine Chance auf Übernahme wenn es als Attribut an einer FHEMWEB-Instanz realsiert wird?
Titel: Antw:Proposal: Default "room" in motd
Beitrag von: rudolfkoenig am 13 Februar 2014, 21:14:21
Ja.
Titel: Antw:Proposal: Default "room" in motd
Beitrag von: Happy Fhem User am 16 Februar 2014, 12:00:07
Hier die Implementierung auf dem aktuellen 01_FHEMWEB mittels eines neuen Attributs "defaultRoom" an der jeweiligen FHEMWEB-Instanz.

Das Attribut "defaultRoom" hat bei dieser Implementierung Vorrang vor dem Attribut "motd".


--- BK/01_FHEMWEB_original.pm 2014-02-16 11:38:57.682960417 +0100
+++ 01_FHEMWEB.pm 2014-02-16 11:53:06.379684982 +0100
@@ -125,6 +125,7 @@
     basicAuth
     basicAuthMsg
     column
+    defaultRoom
     endPlotNow:1,0
     endPlotToday:1,0
     fwcompress:0,1
@@ -657,6 +658,12 @@
   elsif($FW_room)              { FW_showRoom();           }
   elsif(!$FW_cmdret &&
         !$FW_contentFunc &&
+        AttrVal($FW_wname, "defaultRoom", "") ne '') {
+    $FW_room = AttrVal($FW_wname, "defaultRoom", "");
+    FW_showRoom();
+  }
+  elsif(!$FW_cmdret &&
+        !$FW_contentFunc &&
         AttrVal("global", "motd", "none") ne "none") {
     my $motd = AttrVal("global","motd",undef);
     $motd =~ s/\n/<br>/g;
@@ -2756,6 +2763,14 @@
         attr WEB sortRooms DG OG EG Keller
         </li>
         <br>
+       
+    <a name="defaultRoom"></a>
+    <li>defaultRoom<br>
+        show the specified room if no room selected, f.e. on execution of some commands.
+        if set hides the <a href="#motd">motd</a>. Example:<br>
+        attr WEB defaultRoom Zentrale
+        </li>
+        <br>

     <a name="sortby"></a>
     <li>sortby<br>

Titel: Antw:Proposal: Default "room" in motd
Beitrag von: rudolfkoenig am 17 Februar 2014, 21:06:33
Akzeptiert, wenn sourceforge nicht mehr zickt, dann wird es eingecheckt.
Titel: Antw:Proposal: Default "room" in motd
Beitrag von: Simon74 am 06 Dezember 2014, 23:34:05
Funktioniert.
Jedoch nicht ein defaultroom="Floorplan/Tablet1"  ?

Wäre für die Instanz "Webtablet" hilfreich.  :)